다음은 완전한 답변입니다 ( Alex Falappa 및 Lekensteyn의 답변을 바탕으로 함 ).
우분투에서 CUDA를 실행하기 위해 nVidia Optimus GPU를 얻을 수 있습니다.
CUDA에는 범블비가 필요하지 않습니다. ( Bumblebee 에 대한 자세한 내용 : Optimus 기술이 적용된 NVIDIA GeForce는 Ubuntu에서 지원됩니까? )
당신이 그래픽의 예에서 OpenGL을 사용하여 표시해야합니다 때, 당신은 할 그렇지 않으면 당신이 중 하나를 디스플레이에 아무것도를 참조하거나 오류가 발생하지 않는, 옵티머스 시스템 땅벌 같은 필요 뭔가를 :
ERROR: Support for necessary OpenGL extensions missing.
Blender와 같은 그래픽 집약적 프로그램을 사용해야하는 경우 Bumblebee가 현재 사용하는 것이 좋습니다.
Bumblebee를 설치하지 않으려면 (즉, OpenGL이 필요하지 않은 경우) CUDA 설치로 건너 뜁니다 .
그렇지 않으면 계속 읽으십시오.
땅벌 설치
의 지시에 따라 잘 엔비디아 옵티머스 작업과 노트북을 어떻게?
이들은 현재 Bumblebee 개발자에 의해 최신 상태로 유지됩니다.
Bumblebee를 설치하고 재부팅하면 프로그램을 사용하여 optirun
프로그램을 시작할 때 사용할 그래픽 카드를 선택할 수 있습니다 .
예를 들면 다음과 같습니다.
optirun blender
모든 것이 올바르게 작동하는지 빠르게 테스트하려면 다음을 사용하십시오.
optirun glxspheres
모든 것이 올바르게 작동하면 다채로운 회전 구체가있는 프로그램이 표시됩니다.
터미널의 GL 공급 업체 문자열에 단어 nvidia 가 포함되어 있는지 확인하십시오 .
만 실행 glxspheres
하면 공급 업체 문자열에 인텔 카드가 포함 된 것을 볼 수 있습니다.
CUDA 프로그램을 실행할 때 CUDA 툴킷과 nvidia 드라이버를 설치해야합니다. 프로그램을 컴파일하려면 SDK도 필요합니다. 설치 프로그램은 http://developer.nvidia.com/cuda-downloads 에서 찾을 수 있습니다 . Optimus 랩탑을 시작하기 전에 아래 지침을 읽으십시오.
CUDA 설치
운전사
우분투의 패키지 관리자에서 nvidia 드라이버를 설치하는 것이 좋습니다. Bumblebee를 설치하면 드라이버에 대해 걱정할 필요가 없습니다. 그렇지 않으면 설치 후 https://askubuntu.com/a/107746/6969에 설명 된대로 nvidia 라이브러리를 비활성화 하십시오 . 그렇지 않으면 3D 가속이 손실되고 해상도가 낮아질 수 있습니다.
툴킷
기본적으로 설치 프로그램을 다운로드하여 실행 가능하게 만들고 실행해야합니다. -설치 프로그램을 다운로드하십시오. 2013 년 1 월 9 일 현재 5.0.35가 가장 최신 드라이버입니다. 64 비트 OS이므로 64 비트 11.10 Ubuntu 패키지를 사용합니다 (12.10을 실행 중임에도 불구하고) /usr/local/cuda
.
chmod +x cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
sudo ./cudatoolkit_5.0.35_linux_64_ubuntu11.10-1.run
CUDA 설치 위치를 묻는 설치 메시지가 나타나면 Enter를 눌러 기본값을 수락하십시오 /usr/local/cuda
.
......................................
Enter install path (default /usr/local/cuda, '/cuda' will be appended):
설치 후, cuda 라이브러리 디렉토리를 라이브러리 검색 경로에 넣도록 제안하는 몇 가지 메시지가 인쇄됩니다.
========================================
* Please make sure your PATH includes /tmp/cuda/cuda/bin
* Please make sure your LD_LIBRARY_PATH
* for 32-bit Linux distributions includes /tmp/cuda/cuda/lib
* for 64-bit Linux distributions includes /tmp/cuda/cuda/lib64:/tmp/cuda/cuda/lib
* OR
* for 32-bit Linux distributions add /tmp/cuda/cuda/lib
* for 64-bit Linux distributions add /tmp/cuda/cuda/lib64 and /tmp/cuda/cuda/lib
* to /etc/ld.so.conf and run ldconfig as root
* Please read the release notes in /tmp/cuda/cuda/doc/
* To uninstall CUDA, remove the CUDA files in /tmp/cuda/cuda
* Installation Complete
원하는 경우이 단계를 건너 뛸 수 있지만 LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/lib:$LD_LIBRARY_PATH
나중에 프로그램을 실행할 때 설정해야합니다 .
SDK
CUDA 애플리케이션을 컴파일하려면 위에서 설명한 것과 유사한 방식으로 SDK를 설치할 수 있습니다. 다운로드하여 실행 가능하게 만들고 실행하십시오 (예 : sudo
! 없이 루트가 아님 ).
CUDA 사용
CUDA는 nvidia 기반 X 서버가 필요하지 않습니다. 이 경우 다음과 같은 임의 테스트 프로그램을 실행할 수 있습니다.
LD_LIBRARY_PATH = / usr / lib / nvidia-current : / usr / lib32 / nvidia-current : $ LD_LIBRARY_PATH someComputallyIntensiveProgram
라이브러리 경로에 CUDA를 추가하지 않은 경우 다음이 필요합니다.
LD_LIBRARY_PATH = / usr / lib / nvidia-current : / usr / lib32 / nvidia-current : / usr / local / cuda / lib64 : / usr / local / cuda / lib : $ LD_LIBRARY_PATH someComputallyIntensiveProgram
프로그램이 64 비트 인 경우 32 비트 경로를 제거 할 수 있습니다.
CUDA 프로그램에 OpenGL을 사용하여 표시 할 것이 있으면 optirun을 사용해야합니다.
optirun blender
또는 CUDA를 기본 경로에 추가하지 않은 경우 :
LD_LIBRARY_PATH = / usr / local / cuda / lib64 : / usr / local / cuda / lib : $ LD_LIBRARY_PATH 옵티 런 블렌더
블렌더 빌드 설치
(사전 컴파일 된 CUDA 커널 사용)
를 실행하면 optirun blender
Blender에서 CUDA 커널 컴파일이 실패했다는 메시지와 터미널에 다음과 유사한 메시지가 표시 될 수 있습니다.
Compiling CUDA kernel ...
nvcc warning : Option '--opencc-options (-Xopencc)' is obsolete and ignored, when
targeting compute_20, sm_20, or higher
gcc: error trying to exec 'cc1plus': execvp: No such file or directory
CUDA kernel compilation failed, see console for details.
블렌더의 GPU 렌더링 기능을 사용하려면 사전 컴파일 된 CUDA 커널로 블렌더 빌드가 필요할 수 있습니다. Blender.org의 빌드 에는 모두 미리 컴파일 된 CUDA 커널이 있습니다. ppa : cheleb / blender-svn 빌드 ( 이 질문에 대한 자세한 정보 )는 그렇지 않습니다.
공식 Blender 빌드를 설치하려면 이 답변 에 나와있는 지침을 따르십시오 .
에 Blender를 설치 한 경우 /usr/lib/blender
터미널에서 Blender를 실행하고 GPU 렌더링을 다음과 같이 사용할 수 있습니다.
optirun '/usr/lib/blender/blender'