Ich versuche, das ptxjit-Beispiel aus dem CUDA SDK als Grundlage für die Interaktion mit dem GPU-Gerät zu verwenden.Das Laden eines PTX-Programms gibt Fehler 209 zurück, wenn es mit einem Gerät mit CUDA-Funktion ausgeführt wird. 5.0
Es ist mir gelungen, den Instrumentierungscode erfolgreich zu kompilieren und das Gerät zu steuern, um ein PTX-Modul mit einem Geforce GT440 mit CUDA-Fähigkeit 2.0 zu laden und auszuführen.
Bei der Kompilierung des gleichen Instrumentierungscodes auf einem (Laptop mit Hummel zur Steuerung der diskreten GPU) System mit einer Geforce 830M, die CUDA-Fähigkeit 5.0 hat, kompiliert der Code aber 209 (CUDA_ERROR_NO_BINARY_FOR_GPU).
Ich habe versucht, den Kernel zu kompilieren mit CUDA-Fähigkeit 5.0 kompatibel, aber hatte keinen Erfolg, immer noch den gleichen Fehler.
Irgendwelche Ideen?
Ohne [MCVE] ist es sehr schwer zu sagen, was falsch ist. Normalerweise würde 'CUDA_ERROR_NO_BINARY_FOR_GPU' bedeuten, dass Sie entweder ein CUBIN ohne Code für die richtige Architektur darin haben, oder dass Ihre PTX einen Syntaxfehler enthielt oder etwas anderes während der JIT-Kompilierung den Kompilierungsaufruf fehlgeschlagen hat. – talonmies
Wie ich bereits erwähnt habe, benutze ich den Code, der auf dem CUDA SDK bereitgestellt wird, aber ich werde einen Teil davon zusammen mit dem PTX kopieren. – prmottajr
erstellen und führen Sie das Beispielprojekt ptxjit aus, das mit dem CUDA SDK geliefert wird? Oder nimmst du diesen ptxjit-Beispielcode und lässt ihn in dein eigenes Projekt fallen? Welche CUDA-Version verwendest du? –