Ist es möglich, Montageanweisungen in den CUDA-Code zu schreiben?

7

Ich möchte Assembler-Code in CUDA C-Code verwenden um teure Ausführungen zu reduzieren wie wir es mit asm in der c-Programmierung machen.

Ist es möglich?

    
superscalar 09.09.2010, 13:55
quelle

2 Antworten

4

Nein, das geht nicht, es gibt nichts wie die asm-Konstrukte aus C / C ++. Was Sie tun können, ist die generierte PTX-Baugruppe zu optimieren und dann mit CUDA zu verwenden.

Siehe dies für ein Beispiel.

Aber für GPUs sind Assembly-Optimierungen NICHT notwendig. Sie sollten zuerst andere Optimierungen durchführen, wie Speicherkoaleszenz und Belegung. Weitere Informationen finden Sie im CUDA Best Practices-Handbuch . p>     

Matias Valdenegro 09.09.2010, 14:10
quelle
17

Seit CUDA 4.0 wird Inline-PTX von der CUDA-Toolchain unterstützt. Es gibt ein Dokument im Toolkit, das es beschreibt: Using_Inline_PTX_Assembly_In_CUDA.pdf

Im Folgenden finden Sie einen Code, der die Verwendung von Inline-PTX in CUDA 4.0 demonstriert. Beachten Sie, dass dieser Code nicht als Ersatz für die integrierte __clz () - Funktion von CUDA verwendet werden sollte. Ich habe ihn lediglich geschrieben, um Aspekte der neuen Inline-PTX-Funktion zu untersuchen.

%Vor%     
njuffa 15.08.2011 23:46
quelle

Tags und Links