poky/yocto 기반 Linux OS에서 NVIDIA CUDA를 어떻게 사용합니까?

poky/yocto 기반 Linux OS에서 NVIDIA CUDA를 어떻게 사용합니까?

CUDA를 지원하는 Keplar GPU가 있는 NVidia Jetson TK1 개발 보드(ARM Cortex A15)가 있습니다. CUDA를 사용하여 OpenCV 3.0에서 동일한 이미지 처리를 수행하고 싶습니다.

NVidida 문서를 읽으면서 CUDA는 지원되는 Linux 배포판에만 설치할 수 있다는 것을 알게 되었습니다. 문제는 함께 제공된 Ubuntu OS가 아니라 Yocto와 크로스 컴파일한 경량 임베디드 OS를 사용하고 있다는 것입니다. 프로젝트. OpenCV는 CUDA 지원으로 컴파일 및 설치되지만 GPU를 사용할 수 없습니다.

하지만 메일링 리스트에 있는 누군가가 이전에 해본 적이 있기 때문에 그것이 가능하다는 것을 알고 있습니다.여기대화입니다. 내가 해야 할 일은 올바른 바이너리를 올바른 위치에 배치하는 것뿐입니다.

문제는 내 아키텍처에 맞는 "nvidia에서 미리 컴파일된 드라이버 패키지"를 어디서 구하고 어디에 넣을지 모른다는 것입니다. 어떤 도움이라도 주시면 감사하겠습니다.

답변1

것이 가능하다. 그리고 apt와 dpkg가 있으면 쉽습니다. 제 경우에는 둘 다 없어서 설치해야 했습니다. 이미 apt가 있는 경우 "CUDA 설치"로 건너뛰세요.

CUDA 바이너리를 적절하게 설치해야 합니다. 이미지가 적절한지 확인하려면 다음 두 단계를 수행해야 합니다.

  1. 이미지가 IMAGE_FEATURES += "package-management"포함되어 있는지 확인하세요.
  2. local.conf에서 다음 PACKAGE_CLASSES으로 변경합니다.package_deb
  3. 추가 gnupgaptCORE_IMAGE_EXTRA_INSTALL

CUDA 설치.

따라서 여러분이 해야 할 일은 장치의 웹 브라우저를 사용하여 L4T용 CUDA 툴킷용 .deb 파일을 다운로드하거나 PC에 다운로드한 다음 USB 플래시 스틱을 사용하거나 네트워크를 통해 파일을 장치에 복사하는 것입니다. (기본 컴파일 대신 크로스 컴파일을 위한 것이므로 Ubuntu용 도구 키트가 아닌 L4T용 도구 키트를 다운로드해야 합니다.)

보유하고 있는 L4T 버전에 해당하는 툴킷을 다운로드해야 합니다. 예를 들어, 저는 R21.4를 실행하고 있으므로 다음에서 다운로드할 수 있습니다.여기. ~에이것페이지에서 최신 버전의 바이너리를 찾을 수 있습니다.

이제 L4T용으로 수동으로 다운로드한 CUDA 저장소 메타데이터를 설치하세요.

sudo dpkg -i cuda-repo-l4t-<version-you-downloaded>_armhf.deb

NVIDIA의 OpenGL 툴킷을 포함한 실제 CUDA 툴킷을 다운로드하여 설치하세요. 약 15MB 정도만 다운로드됩니다. 아래 두 번째 명령에서 CUDA 6.0을 다운로드한 경우 "cuda-toolkit-6-0"을 설치하고, CUDA 6.5 등을 다운로드한 경우 "cuda-toolkit-6-5"를 설치합니다.

sudo apt-get update
sudo apt-get install cuda-toolkit-x-x

GPU에 대한 액세스를 허용하려면 "비디오" 그룹에 자신을 추가하세요.

sudo usermod -a -G video $USER

.bashrc 로그인 스크립트에 32비트 CUDA 경로를 추가하고 현재 콘솔에서 사용을 시작하세요.

echo "# Add CUDA bin & library paths:" >> ~/.bashrc
echo "export PATH=/usr/local/cuda/bin:$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

마지막으로 CUDA 툴킷이 장치에 설치되어 있는지 확인하십시오.

nvcc -V

짜잔, 끝났습니다!

원천

관련 정보