Quando si compila il codice CUDA, è necessario selezionare per quale architettura viene generato il codice. nvcc
fornisce due parametri per specificare questa architettura, essenzialmente:Quali sono i valori predefiniti per le opzioni di arco e codice quando si utilizza nvcc?
arch
specifica l'arquictecture virtuale, che può esserecompute_10
,compute_11
, ecccode
specifica la vera architettura, che può esseresm_10
,sm_11
, etc.
Quindi un comando come questo:
nvcc x.cu -arch=compute_13 -code=sm_13
Genera il codice "cubin" per i dispositivi con capacità di calcolo 1.3. Per favore correggimi se sbaglio. Quale mi piacerebbe sapere è quali sono i valori predefiniti per questi due parametri? Qual è l'architettura predefinita che nvcc utilizza quando nessun valore perarch
ocode
è specificato?
Se si compila il codice utilizzando il flag verbose, verrà visualizzata l'architettura virtuale predefinita utilizzata. –