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

poky/yocto 기반 Linux 운영 체제에서 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 Toolkit용 .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

짜잔, 끝났어요!

원천

관련 정보