Come impostare i flag del compilatore CUDA in Visual Studio 2010?

Dopo l’ error : identifier "atomicAdd" is undefined persistente error : identifier "atomicAdd" is undefined , ho trovato la soluzione da compilare con flag -arch sm_20 . Ma come passare questo flag del compilatore in VS 2010? Ho provato così in Project > Properties :

inserisci la descrizione dell'immagine qui

Ma questo a quanto pare non ha avuto alcun effetto e l’errore persiste: cosa sto sbagliando?

Grazie molto.

È ansible selezionare le opzioni per la generazione del codice GPU in questa finestra di dialogo:

Generazione del codice GPU

In questo caso “compute_20” significa che sto compilando per l’architettura di calcolo virtuale 2.0 – l’architettura virtuale influenza la fase di generazione del PTX.

La seconda parte che segue il coma è “sm_21”. Questo influenza la fase di generazione di CUBIN. Definisce la vera architettura GPU in cui voglio compilare il PTX.

Puoi trovare una descrizione dettagliata dei parametri della riga di comando nvcc che controllano la generazione del codice qui .

Vai alla sezione “Dispositivo” in “CUDA C / C ++”. Lì, all’interno di “Generazione codice” puoi specificare il tuo sm_20 . Non c’è bisogno di -arch .

Tieni presente che esistono proprietà separate sia per il progetto che per i file .cu. Apparentemente vengono uniti prima della compilazione.

Sono stato sorpreso da questo tentativo di specificare GPU per il calcolo 3.0 e superiore, ma le proprietà .cu avevano alcune specifiche rimanenti per 1.0 e 2.0