
정확한 오류:
CUDA error at ../../common/inc/helper_cuda.h:1263 code=30(cudaErrorUnknown) "cudaGetDevice(&dev)"
tensorflow gpu용 cuda를 설치하고 있습니다. 나는 cuda 8을 설치했습니다 (다음이것들우분투 16.04에 대한 지침), 쓰기 가능한 샘플을 테스트하는 것만으로도 오류가 발생했습니다(해당 링크의 섹션 6.2.1). 모든 샘플에서 해당 오류가 계속 발생하며 Google에서는 해당 오류가 발생하지 않습니다(cudaGetDeviceCount() 오류만 발생). 이게 뭘까요? 원래 실수로 cuda 9.1 툴킷을 설치했지만(tensorflow에는 8.0이 필요함) 이를 완전히 제거하고 이와 관련된 경로 변수나 디렉터리를 모두 제거했습니다.
해당 오류는 makefile이 샘플 디렉터리에 생성해야 하는 실행 파일을 실행할 때 발생하며 make 파일 자체에서 다음 경고/오류를 생성합니다.
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
make 파일은 마지막에 이것을 실행하기 때문에 make 파일이 전혀 아무것도 생성하지 않는다고 생각합니다.
cp simpleZeroCopy ../../bin/x86_64/linux/release
이는 모든 예제의 캐시된 실행 파일의 일부 디렉터리에서 실행 파일을 복사하는 것입니다. 해당 샘플의 메이크파일과 소스 코드는 크기가 커서 도움이 될지는 모르겠지만 필요하다면 게시하겠습니다.
제가 실행하려고 하는 이 샘플 코드는 cuda에서 직접 가져온 것이므로 제가 프로그래밍한 코드가 하나도 없습니다. 이로 인해 일부 유형의 NVIDIA 드라이버가 누락되었거나 cuda를 잘못 설치했거나 설정하지 않았을 수 있다고 생각됩니다. 적절한 경로 변수(모든 것이 잘 되었다고 확신하지만).
저는 우분투 16.04, x86_64를 실행 중이고 그래픽 카드는 gtx 780 ti입니다.
tensorflow-gpu를 설치하기 전의 오류임을 명확히 하고 싶습니다.그들의 지시먼저 cuda를 별도로 설치한 다음 tensorflow를 설치해야 합니다. tensorflow를 설치하기 전에 cuda를 테스트하는 중에 이 오류가 발생합니다.
편집: 경로 변수는 다음과 같습니다.
$PATH:
/usr/local/cuda-8.0/bin:/home/maurcio/anaconda3/bin:/home/maurcio/bin:/home/maurcio/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:.
$LD_LIBRARY_PATH:
/usr/local/cuda-8.0/lib64
답변1
설치 지침에 대한 링크가 잘못되었습니다. 보세요https://docs.google.com/viewer?url=https%3A%2F%2Fdeveloper.download.nvidia.com%2Fcompute%2Fcuda%2F9.1%2FProd%2Fdocs%2Fsidebar%2FCUDA_Installation_Guide_Linux.pdf&pdf=true
기본적으로 Ubuntu에서 제공하는 드라이버(가능한 경우 980ti인지 확실하지 않음)를 사용하고 Intel deb cuda 설치를 사용하고 툴킷을 가져오는 Ubuntu cuda 패키지를 설치하십시오. 샘플을 쓰기 가능한 위치에 복사하고 경로를 수정하면 CUDA가 작동합니다.