Wie erkennt VS 2010 bestimmte CUDA-Funktionen?

8

Im Moment erkennt CUDA bereits eine CUDA C / C ++ - Schlüsselfunktion wie cudaMalloc , cudaFree , cudaEventCreate usw.

Es erkennt auch bestimmte Typen wie dim3 und cudaEvent_t .

Andere Funktionen und Typen wie die Texturvorlage, die Funktionen __syncthreads oder atomicCAS werden jedoch nicht erkannt.

Alles funktioniert gut, aber ich habe es satt, rote Unterstreichungen überall zu sehen, und ich möchte die Beispielparameter sehen, die angezeigt werden, wenn Sie eine erkennbare Funktion eingeben.

Wie bekomme ich VS diese Funktionen zu fangen?

    
sj755 30.05.2011, 20:34
quelle

2 Antworten

9

Sie könnten eine Dummy-Datei #include des folgenden Formulars erstellen:

%Vor%

Dies sollte die gefälschten Prototypen von den CUDA- und Visual C ++ - Compilern verbergen, sie aber trotzdem für IntelliSense sichtbar machen.

Quelle für __INTELLISENSE__ -Makro: Ссылка

    
ChrisV 31.05.2011 01:32
quelle
4

Sie müssen CUDA-spezifische Schlüsselwörter wie __synctreads zur Datei usertype.dat für Visual Studio hinzufügen. Eine Beispieldatei usertype.dat ist im Lieferumfang des NVIDIA CUDA SDK enthalten. Sie müssen auch sicherstellen, dass Visual Studio .cu-Dateien als c / c ++ - Dateien erkennt, wie in diesen Beitrag :

Beachten Sie jedoch, dass wenn der Beitrag $(CUDA_INC_PATH) verwendet, sollten Sie bei neueren Versionen von CUDA $(CUDA_PATH)/include verwenden.

Ich würde auch Visual Assist X empfehlen - nicht kostenlos, aber das Geld wert - um die Intellisense zu verbessern. Es funktioniert gut mit CUDA, wenn Sie diese Anweisungen befolgen:

Ссылка

Ссылка

    
harrism 31.05.2011 02:24
quelle