Debian 8(Jessie) 또는 9(Stretch)에 CUDA Toolkit 7/8/9를 설치하는 방법은 무엇입니까?

Debian 8(Jessie) 또는 9(Stretch)에 CUDA Toolkit 7/8/9를 설치하는 방법은 무엇입니까?

설치하는 방법CUDA 툴킷 7.0아니면 데비안 8에서 8인가요?

데비안 8이 다음 옵션을 제공한다는 것을 알고 있습니다.CUDA 툴킷 6.0 다운로드 및 설치apt-get install nvidia-cuda-toolkitCUDA 툴킷 버전 7.0 또는 8을 사용하여 이 작업 을 어떻게 수행합니까?

아래 설명에 따라 Ubuntu 설치 프로그램을 사용하여 설치를 시도했습니다.

sudo wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1404/x86_64/cuda-repo-ubuntu1404_7.0-28_amd64.deb

dpkg -i cuda-repo-ubuntu1404_7.0-28_amd64.deb

sudo apt-get update

sudo apt-get install -y cuda

그러나 작동하지 않고 다음 메시지를 반환합니다.

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda : Depends: cuda-7-0 (= 7.0-28) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

답변1

다음 지침은 CUDA 7.0, 7.5 및 여러 이전(및 가능하면 이후) 버전에 적용됩니다. Debian 배포판에 관한 한 Jessie와 Stretch 및 기타 배포판에도 적용됩니다. amd64(x86_64) 아키텍처를 특징으로 하지만 x86(x86_32)에 쉽게 적용할 수 있습니다.

설치 전제조건

  • g++- 사용 중인 CUDA 버전에서 지원하는 최신 GCC 버전을 사용해야 합니다. CUDA 7.x의 경우 4.x 시리즈의 마지막 버전인 4.9.3이 되며 CUDA 8.0의 경우 GCC 5.x 버전이 지원됩니다. 배포판이 기본적으로 GCC 5.x를 사용하는 경우 이를 사용하고, 그렇지 않으면 GCC 5.4.0을 사용해야 합니다. 이전 버전을 사용할 수 있지만 호스트 측 코드의 최신 C++ 기능을 더 잘 지원하기 위해서라도 권장하지는 않습니다.
  • 걸프 협력 협의회- g++로. 어떤 경우에는 CMake가 기본적으로 g++ 대신 gcc를 호출하는 nvcc로 설정될 수도 있다고 생각합니다 -x(그러나 이에 대해서는 확실하지 않습니다).
  • 라이브러리GLU- Mesa OpenGL 라이브러리(+ 개발 파일?)
  • libXi- X Window System Xinput 확장 라이브러리(+ 개발 파일?)
  • 도서관Xmu- X Window System "기타 유틸리티" 라이브러리(+ 개발 파일?)
  • 리눅스 커널- 실행 중인 커널 버전의 헤더입니다.

특정 패키지 목록을 원한다면 사용 중인 배포판에 따라 다릅니다. 하지만 다음을 시도해 볼 수 있습니다(CUDA 7.x의 경우).

sudo apt-get install gcc g++ gcc-4.9 g++-4.9 libxi libxi6 libxi-dev libglu1-mesa libglu1-mesa-dev libxmu6 libxmu6-dev linux-headers-amd64 linux-source

이러한 패키지의 특정 버전을 추가하여 -dbg기호를 디버그할 수 있습니다.

그래요아름다운물론 여기에는 모든 내용이 포함됩니다. 하지만 방금 설치한 내용을 놓쳤을 수도 있습니다. 반품,CUDA는 clang과 함께 사용할 수 있습니다, 적어도 실험적이지만 아직 시도하지 않았습니다.

CUDA 커널 드라이버 설치

  1. 엔비디아로 이동CUDA 다운로드 페이지.
  2. 선택하다리눅스 > x86_64 > 우분투, 그리고 최신 버전(작성 당시: Ubuntu 15.04)을 선택합니다.
  3. 선택하다.run 파일옵션.
  4. .run 파일을 다운로드합니다(현재이것). 확실하게 하다아니요에 넣으세요 /tmp.
  5. .run 파일을 실행 가능하게 만듭니다 chmod a+x cuda_7.5.18_linux.run.
  6. 뿌리가 되십시오.
  7. .run 파일을 실행하세요. 멍청하고 압축된 라이센스를 수락하는 척하세요. NVIDIA 커널 드라이버만 설치하려면 "예"라고 말하고 그 밖의 모든 것에는 "아니오"라고 말하세요.

설치 프로그램은 NVIDIA 커널 드라이버가 설치될 것으로 예상하지만 툴킷 설치를 계속/재시도하기 전에 재부팅해야 함을 알려줍니다. 그래서...

  1. 성공한 것 같습니다. 다시 시작하세요.

CUDA 자체 설치

  1. 뿌리가 되십시오.
  2. 찾아서 실행하기cuda_7.5.18_linux.run
  3. 이번에는 드라이버 설치에 대해 "아니오"라고 말하고 다른 모든 항목을 설치하려면 "예"라고 말하고 기본 경로를 수락합니다(또는 원하는 대로 변경).

이제 설치 프로그램이 가능합니다실패하다. 이것이 우리가 예상하는 종류의 실패라고 가정하면 좋은 것입니다. 컴파일러 버전이 지원되지 않는다는 것을 알려줄 것입니다. CUDA 7.0 또는 7.5는 최대 gcc 4.9까지 지원하며 기본적으로 일부 5.x 버전이 있습니다. 이제 누락에 대한 메시지를 받으면도서관, 이는 전제 조건에 대한 위의 지침이 어떤 방식으로든 실패했음을 의미하며, 제가 수정할 수 있도록 여기에 의견을 남겨주셔야 합니다. "좋은 실패"가 발생했다고 가정하고 다음을 진행하세요.

  1. 이번에는 --override 옵션을 사용하여 .run 파일을 다시 불러옵니다.
  2. 11단계와 동일하게 선택합니다.

이제 CUDA가 기본 위치 /usr/local/cuda(심볼릭 링크)에 설치되어야 합니다. 하지만 아직 끝나지 않았습니다!

NVIDIA의 nvcc 컴파일러에 올바른 g++ 버전을 사용하도록 지시

NVIDIA의 CUDA 컴파일러는 실제로 연결 프로세스의 일부로 g++를 호출하거나 .cu 파일 대신 실제 C++를 컴파일합니다. 제 생각에는. 어쨌든 기본적으로 경로에 있는 모든 항목을 실행 g++하지만 다음과 같이 입력하면 ;다른g++아래에서 /usr/local/cuda/bin먼저 사용됩니다! 그래서...

  1. 실행 symlink /usr/bin/g++-4.9 /usr/local/cuda/bin/g++(좋은 측정을 위해 아마도 symlink /usr/bin/gcc-4.9 /usr/local/cuda/bin/gcc.

그게 다야.

설치를 시도하다

  1. cd /root/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd
  2. make

완료되면 빌드가 성공적으로 종료되어야 합니다.

  1. ./vectorAdd

다음과 같은 결과가 출력되어야 합니다.

root@mymachine:~/NVIDIA_CUDA-7.5_Samples/0_Simple/vectorAdd# ./vectorAdd
[Vector addition of 50000 elements]
Copy input data from the host memory to the CUDA device
CUDA kernel launch with 196 blocks of 256 threads
Copy output data from the CUDA device to the host memory
Test PASSED
Done

노트

  • NVIDIA GDK(GPU 개발 키트)를 설치할 필요는 없지만 해롭지 않으며 일부에게는 유용할 수 있습니다. 시스템 루트 디렉토리에 설치하십시오. 매우 안전하며 나중에 제거 프로그램이 있습니다 /usr/bin/uninstall_gdk.pl. CUDA 8에서는 CUDA 자체인 IIANM에 통합되었습니다.
  • nvidia-... 또는 cuda...와 같은 이름을 가진 다른 패키지를 설치하지 마십시오. 해롭지는 않지만 확실히 도움이 되지는 않습니다.
  • 이러한 작업을 수행하기 전에 를 사용할 수 있습니다 lspci | grep -i nvidia.

답변2

이 작업을 수행하려면 백포트를 사용해야 한다고 생각합니다. 저는 실제로 nvidia-cuda-toolkit아무런 문제 없이 데비안 jessie에 7.5를 설치하고 있습니다.

무료가 아닌 백포트를 /etc/apt/sources.list.

# jessie-backports
deb http://httpredir.debian.org/debian jessie-backports main contrib non-free

저장하고 apt-get 업데이트를 수행하고 마지막으로 다음을 수행합니다.

apt-get install -t jessie-backports nvidia-cuda-toolkit

답변3

resources.list에 contrib 및 무료가 아닌 저장소를 추가하고 apt-get update를 실행하면 CUDA 툴킷은 nvidia-cuda-toolkit 아래의 Synaptic에 있습니다.

답변4

이 페이지에서 Ubuntu의 네트워크 설치 프로그램을 사용해 보십시오:

https://developer.nvidia.com/cuda-downloads#linux

Ubuntu 14.*용 설치 프로그램은 충분히 호환되어야 합니다.

관련 정보