Ich kann nicht finden, eine Antwort auf diese einfache Frage in der Cuda-Programmieranleitung zu finden: Beim Kompilieren eines Kernels mit nvcc, Welche Größe Integer wird durch kurz erklärt, int, long und lang Lang? Kommt es auf meine Host-Architektur an, also sollte ich int16_t, int32_t und int64_t verwenden, oder ist es immer eine feste Größe?Welche Größe sind Integer beim Programmieren von Cuda Kernel
11
A
Antwort
10
Es hängt vom Host-Compiler ab. Insbesondere wird nvcc
die Definition dieser Typen mit der Darstellung des Host-Compilers übereinstimmen.
In der Praxis ist die char
, short
und int
Datentypen haben vorhersagbare Größen auf allen Plattformen, die CUDA Stützen (8, 16, und 32 Bits jeweils). Die Größe von long
variiert jedoch von Plattform zu Plattform.
Verwandte Themen
- 1. CUDA-Architektur programmieren
- 2. Verschachtelte Kernel in CUDA
- 3. Uncrustify-Befehl für CUDA-Kernel
- 4. Welche Größe von Clyther Overhead?
- 5. CUDA Kernel Scheduler auf GPU
- 6. Verständnis dieser Startparameter von CUDA Kernel
- 7. Mit cublasStbsv in CUDA Kernel
- 8. Welche Datenstrukturen sind im Linux-Kernel verfügbar?
- 9. Wie ein Linux-Kernel-Modul zu programmieren?
- 10. 2 Variablen in CUDA Kernel
- 11. CUDA-Kernel überspringt Array-Einträge
- 12. Cuda Kernel Zeitmessung mit CudaEventElapsedTime
- 13. CUDA_ERROR_ILLEGAL_ADDRESS beim Zugriff auf Variablen im CUDA-Kernel
- 14. Generate Random Number innerhalb Cuda Kernel
- 15. Cuda Kernel funktioniert in mehreren Dateien
- 16. Timing verschiedene Abschnitte in CUDA Kernel
- 17. Wie synchronisiert man die Cuda Kernel Funktion?
- 18. Mehrere Host-Threads starten einzelne CUDA-Kernel
- 19. Cuda Kernel für Conways Spiel des Lebens
- 20. Cuda - Gerätewerte 0 nach Kernel-Ausführung
- 21. Welche Ausnahmen möglich sind, kann beim Ausführen von executeQuery()
- 22. Aufruf mehrere Kernel, globale Speicherleistungen - CUDA
- 23. CUDA gleichzeitige Kernel-Start funktioniert nicht
- 24. cuda Programm-Kernel-Code im Gerät Speicherbereich
- 25. Wie effektiv diesen Kernel in CUDA
- 26. Fehler in Kernel-Startanweisung in CUDA
- 27. Divergenz in CUDA - Beenden eines Threads im Kernel
- 28. Debuggen von CUDA-Kernel in Visual Studio oder Parallel Nsight
- 29. Welche Dateien sind beim Kompilieren tatsächlich enthalten?
- 30. sqlalchemy Integer Spalte Größe
Sind Sie sicher, dass das richtig ist? Der Gerätecode muss in PTX-Befehle konvertiert werden. Es wäre komisch, wenn dieser Prozess für die Host-Architektur spezifisch wäre. Ich habe in den CUDA-Dokumenten nachgeschaut und konnte nichts finden. – nsanders
Ja, die Gerätedatentypen müssen mit den Hosttypen übereinstimmen, andernfalls wäre es unmöglich, vorherzusagen, wie viel Speicher auf den Host zu schreiben ist. – Edric
Danke. Genau das habe ich gebraucht. Es macht Sinn, denn es wäre ein Albtraum, wenn ich dafür verantwortlich wäre, die Typen zwischen meinem Host-Code und meinem Kernel-Code zu vergleichen. –