2016-06-20 10 views
0

Ich versuche dynamische Parallelität mit CUDA zu verwenden, aber ich kann den Kompilierungsschritt nicht ausführen.Fehler beim Kompilieren/Ausführen von CUDA-Code mit dynamischer Parallelität

Ich arbeite an einer GPU mit Compute Capability 3.5 und der CUDA Version 7.5.

In Abhängigkeit von den Schaltern in der Kompilierungsbefehl Ich benutze ich verschiedene Fehlermeldungen immer bin, aber die documentation verwenden,

  • Ich kam zu einer Zeile zu einem erfolgreichen Compilation führenden:

    nvcc -arch=compute_35 -rdc=true cudaDynamic.cu -o cudaDynamic.out -lcudadevrt 
    

    Aber wenn das Programm gestartet wird, schlägt das gesamte Programm fehl. Mit CUDA-memcheck für jeden Aufruf einer API-Funktion, erhalte ich die gleiche Fehler Nachricht:

    ========= CUDA-MEMCHECK 
    ========= Program hit cudaErrorUnknown (error 30) due to "unknown error" on CUDA API call to ... 
    
  • ich auch diese Linie versucht habe (aus CUDA dynamischen Proben Make-Datei):

    nvcc -ccbin g++ -I../../common/inc -m64 -dc -gencode arch=compute_35,code=compute_35 -o cudaDynamic.out -c cudaDynamic.cu 
    

    Aber bei der Ausführung, die ich erhalten:

    cudaDynamic.out: Permission denied 
    

ich würde l Ich verstehe, wie man einen dynamischen CUDA-Code korrekt kompiliert, weil alle anderen Kompilierungszeilen, die ich bisher ausprobiert habe, fehlgeschlagen sind.

+0

Nur weil ein Code beim Ausführen fehlschlägt, bedeutet das nicht, dass die Kompilierungsbefehlszeile falsch ist. Im Allgemeinen sieht die Befehlszeile korrekt aus. Ihr Fehler könnte irgendein Problem mit Ihrem Code sein. Sind Sie sicher, dass CUDA korrekt auf Ihrem Computer installiert ist? Werden andere CUDA-Codes (z. B. CUDA-Beispiele) korrekt ausgeführt? Wenn dies unter Windows geschieht, tritt möglicherweise ein WDDM-Timeout auf? Es gibt nicht genug Informationen in Ihrer Frage, um zu diagnostizieren, was eigentlich falsch ist. –

+0

CUDA wurde korrekt von der Maschine installiert: Ich habe lange an nicht dynamischer CUDA gearbeitet. Ich laufe auf Ubuntu. Ich habe versucht, das Beispiel cdpSimplePrint zu kompilieren, aber ich erhielt den folgenden Fehler: make:/usr/local/cuda/bin/nvcc: Befehl nicht gefunden Makefile: 196: Rezept für Ziel 'cdpSimplePrint.o' fehlgeschlagen make: *** [cdpSimplePrint.o] Fehler 127 – VincentN

+0

Was ist das Ergebnis der Ausführung von 'which nvcc' auf Ihrem Computer? –

Antwort

0

Ich habe das Problem durch eine vollständige Neuinstallation von CUDA behoben.

Ich bin jetzt in der Lage, sowohl die CUDA-Beispiele als auch meinen eigenen Code zu kompilieren.