2017-08-25 3 views
0

Ich benutze Nvidia GeForce GTX 1080, die Cuda 8.0 erfordert. Nichtsdestoweniger finde ich, dass es bei Experimenten gut mit Cuda 7.5 funktioniert, aber der Fehler tritt auf, wenn mein Netzwerk eine Dropout-Schicht hat. Auf der anderen Seite, wenn ich Cuda verwenden 8.0, erhalte ich die Fehlermeldung:Compiling Caffe mit Cuda 8.0 auf GTX 1080

./build/tools/caffe: error while loading shared libraries: libcudart.so.7.5: cannot open shared object file: No such file or directory 

Ich gehe davon aus, dass das Problem sein kann, dass ich Caffe mit Cuda 7.5 und den folgenden CUDA_ARCH Parametern zusammengestellt.

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \ 
    -gencode arch=compute_20,code=sm_21 \ 
    -gencode arch=compute_30,code=sm_30 \ 
    -gencode arch=compute_35,code=sm_35 \ 
    -gencode arch=compute_50,code=sm_50 \ 
    -gencode arch=compute_50,code=compute_50 

Als ich diese Parameter verwenden und versuchen, mit Cuda 8.0 zu kompilieren, ich folgende Fehlermeldung erhalten:

make: *** No rule to make target `/usr/local/cuda/include/thrust/detail/type_traits/result_of.h', needed by `.build_release/cuda/src/caffe/layers/softmax_layer.o'. Stop. 

Glauben Sie, das ist das Problem? Wenn ja, was wären die richtigen CUDA_ARCH Parameter für Cuda 8.0 und GTX 1080. Wenn nein, was ist das Problem?

Antwort

0

Die Lösung ist einfach:

make clean 
make all 

Und ich verwendet, um die folgenden Parameter CUDA_ARCH:

CUDA_ARCH := -gencode arch=compute_20,code=sm_20 \ 
    -gencode arch=compute_20,code=sm_21 \ 
    -gencode arch=compute_30,code=sm_30 \ 
    -gencode arch=compute_35,code=sm_35 \ 
    -gencode arch=compute_50,code=sm_50 \ 
    -gencode arch=compute_50,code=compute_50 
    -gencode=arch=compute_52,code=sm_52 \ 
    -gencode=arch=compute_52,code=compute_52 \ 
    -gencode=arch=compute_60,code=sm_60 \ 
    -gencode=arch=compute_61,code=sm_61 \ 
0

Sie haben nicht die richtigen NVIDIA nvcc sm Flags enthalten kompilieren CUDA für die GTX1080 (SM Architektur 61).

Sie sollten -gencode=arch=compute_61,code=sm_61 zu Ihrem CUDA_ARCH Parameter hinzufügen und neu kompilieren.

Verwandte Themen