Ich schreibe gerade eine App zum Streamen von OpenGL-Inhalten, daher CUDA mit NVidias NVenc-API. Ich habe bemerkt, dass das Anrufen cuInit(0)
- was als ein erster Aufruf erfolgen sollte, um Cuda zu initialisieren, gemäß vieler Tutorials, den Erfolg meines Cuda Kernel nicht ändert. Ob ich es anrufe oder nicht, das Programm läuft in beiden Szenarien.cuInit (0) nicht mehr benötigt?
Haben sie es geändert? Ich habe nach Informationen gesucht, konnte aber nichts finden.
Danke!
Bit A weitere Informationen:
erster Schritt wird ein Gerät unter Verwendung von cudaSetDevice()
Cuda zu schaffen - Runtime API. Zweiter Schritt, erstellen Sie einen Kontext mit cuCtxCreate()
- Driver API. Danach kann ich einen Kernel mit Triple-Chevron-Syntax mit einem Cuda-Array über cudaMalloc()
zugewiesen starten.
Verwenden Sie den CUDA-Treiber oder die Laufzeit-API? – talonmies
Beide APIs funktionieren. – Christoph
Das habe ich nicht gefragt. Verwendet Ihr Code die Laufzeit-API oder die Treiber-API? NVenc selbst hat nichts mit CUDA zu tun und benötigt keinen CUDA-Kontext. – talonmies