Wenn Sie Ihren CUDA-Code kompilieren, müssen Sie auswählen, für welche Architektur Ihr Code generiert wird. nvcc
bietet zwei Parameter diese Architektur angeben, im Grunde:Was sind die Standardwerte für Arch- und Codeoptionen bei Verwendung von nvcc?
arch
die virtuellen arquictecture gibt, diecompute_10
sein können,compute_11
usw.code
gibt die reale Architektur, diesm_10
sein kann,sm_11
usw.
So ein Befehl wie folgt aus:
nvcc x.cu -arch=compute_13 -code=sm_13
Erzeugt einen "Cubin" -Code für Geräte mit 1,3-Rechenkapazität. Bitte korrigieren Sie mich, falls ich falsch liege. Was würde ich gerne wissen, welche sind die Standardwerte für diese beiden Parameter? Welche ist die Standardarchitektur, die nvcc verwendet, wenn kein Wert fürarch
odercode
angegeben ist?
Wenn Sie Ihren Code mit dem ausführlichen Flag kompilieren, sehen Sie die verwendete virtuelle Standardarchitektur. –