3. Package Manager Installation

3.1. Overview

패키지 매니저 설치는 여러분의 시스템 패키지 관리 시스템과 소통한다. RPM 또는 Deb를 이용할 때, 다운로드된 패키지는 저장소(repository)에 있는 패키지이다. 그러한 패키지는 패키지 매니저에게 실제 인스톨 패키지를 찾을 수 있는 곳을 알려주기만 할 뿐, 실제로 해당 패키지를 설치하지는 않는다.

만약 그 패키지들이 온라인 저장소에 있다면, 그들은 다음 단계에서 자동적으로 다운로드되어 진다. 그렇지 않으면, 그 저장소 패키지는 인스톨 패키지를 포함하는 로컬 저장소를 시스템에 설치한다. 그 저장소가 온라인에 있든 로컬에 설치되어 있든 상관없이, 설치 프로시져는 동일하며 몇 단계로 구성된다.

CUDA를 설치하기 위한 배포판-특정 명령의 자세한 내용은 아래를 참조하라:

마지막으로, 약간 도움이 될만한 package manager capabilities가 서술되어 있다.

이 명령들은 전용(native) 개발만을 위한 것이다. 크로스-플랫폼 개발은 CUDA Cross-Platform Environment 섹션을 참조하라.

3.2. Redhat/CentOS

  1. 설치 전 작업을 수행하라.

  2. DKMS 의존성을 해소하라.
    NVIDIA 드라이버 RPM 패키지는 DKMSlibvdpau와 같은 다른 외부 패키지에 의존한다. 그러한 패키지들은 EPEL과 같은 서드파티(third-party) 저장소에서만 유효하다. NVIDIA 드라이버 RPM 패키지를 설치하기 전에 그러한 서드파티 저장소를 패키지 매니저 저장소 데이터베이스에 추가해야 한다. 그렇지 않으면 해소하지 못한 의존성이 인스톨의 진행을 방해할 것이다.

  3. 적용 가능한 경우, 사용자 정의 xorg.conf에 대해 고심해보라.
    드라이버는 자동적으로 생성된 xorg.conf(/etc/X11/xorg.conf) 파일에 의존한다. 만약 사용자가 작성한(custom-built) xorg.conf 파일이 있다면, 이 기능은 비활성화되고 드라이버는 동작하지 않을 수도 있다. 여러분은 기존 xorg.conf 파일을 제거하거나 /etc/X11/xorg.conf.d/00-nvidia.conf의 내용을 xorg.conf 파일에 추가하려고 시도할 수도 있다. xorg.conf 파일은 복잡한 GPU 설정(configuration)을 가진 시스템을 위해 수동으로 수정할 필요가 있다.

  4. 저장소 메타-데이터를 인스톨하라.

     $ sudo rpm --install cuda-repo-<distro>-<version>.<architecture>.rpm
    
  5. Yum 저장소 캐시를 비워라.
     $ sudo yum clean expire-cache
    
  6. CUDA를 인스톨하라.
     $ sudo yum install cuda
    
    만약 i686 libvdpau 패키지 의존성으로 인스톨이 실패하게 되면, 이 문제를 고치기 위해 아래의 단계를 시도하라.
     $ yumdownloader libvdpau.i686
     $ sudo rpm -U --oldpackage libvdpau\*.rpm
    
  7. 필요하다면, libcuda.so의 심볼릭 링크를 추가하라.
    libcuda.so 라이브러리는 /usr/lib{,64}/nvidia 디렉토리에 있다. libcuda.so를 사용하는 기존의 프로젝트를 위해 /usr/lib{,64} 디렉토리에 앴는 libcuda.so로부터 심볼릭 링크를 추가하는 것이 유용할 것이다.

  8. 설치 후 작업을 수행하라.

3.3. Fedora

  1. 설치 전 작업을 수행하라.

  2. 적용 가능한 경우, 사용자 정의 xorg.conf에 대해 고심해보라.
    드라이버는 자동적으로 생성된 xorg.conf(/etc/X11/xorg.conf) 파일에 의존한다. 만약 사용자가 작성한(custom-built) xorg.conf 파일이 있다면, 이 기능은 비활성화되고 드라이버는 동작하지 않을 수도 있다. 여러분은 기존 xorg.conf 파일을 제거하거나 /etc/X11/xorg.conf.d/00-nvidia.conf의 내용을 xorg.conf 파일에 추가하려고 시도할 수도 있다. xorg.conf 파일은 복잡한 GPU 설정(configuration)을 가진 시스템을 위해 수동으로 수정할 필요가 있다.

  3. Akmods 의존성을 해소하라.
    NVIDIA 드라이버 RPM 패키지는 RPMFusion 무료 저장소에서 제공되는 Akmods 프레임워크에 의존한다. NVIDIA 드라이버 RPM 패키지를 설치하기 전에 RPMFusion 무료 저장소를 패키지 매니저 저장소 데이터베이스에 추가해야 한다. 그렇지 않으면 해소하지 못한 의존성이 인스톨의 진행을 방해할 것이다.

  4. 저장소 메타-데이터를 인스톨하라.

     $ sudo rpm --install cuda-repo-<distro>-<version>.<architecture>.rpm
    
  5. DNF 저장소 캐시를 비워라.
     $ sudo dnf clean expire-cache
    
  6. CUDA를 인스톨하라.
     $ sudo dnf install cuda
    
    만약 RPMFusion 유료 저장소가 활성화된다면 CUDA 드라이버 인스톨은 실패할 수도 있다. 이 경우, CUDA 인스톨은 RPMFusion 유료 저장소를 일시적으로 비활성화해야 한다.
     $ sudo dnf --disablerepo="rpmfusion-nonfree\*" install cuda
    
    만약 시스템이 똑같은 인스턴스의 dnf를 가진 두 개의 패키지를 모두 인스톨했다면, 어떤 드라이버의 구성요소를 잃어버릴 수도 있다. 그러한 경우, 다음처럼 바로 잡아야 한다:
     $ sudo dnf install cuda-drivers
    
    만약 i686 libvdpau 패키지 의존성으로 인해 인스톨을 실패한다면, 이 문제를 해소하기 위해 다음처럼 시도해 보라:
     $ dnf download libvdpau.i686
     $ sudo rpm -U --oldpackage libvdpau\*.rpm
    
  7. 필요하다면, libcuda.so의 심볼릭 링크를 추가하라.
    libcuda.so 라이브러리는 /usr/lib{,64}/nvidia 디렉토리에 있다. libcuda.so를 사용하는 기존의 프로젝트를 위해 /usr/lib{,64} 디렉토리에 앴는 libcuda.so로부터 심볼릭 링크를 추가하는 것이 유용할 것이다.

  8. 설치 후 작업을 수행하라.

3.4. SLES

  1. 설치 전 작업을 수행하라.

  2. 저장소 메타-데이터를 인스톨하라.

     $ sudo rpm --install cuda-repo-<distro>-<version>.<architecture>.rpm
    
  3. Zypper 저장소 캐시를 리프레쉬하라.
     $ sudo zypper refresh
    
  4. CUDA를 인스톨하라.
     $ sudo zypper install cuda
    
    드라이버는 여러가지 패키지로 제공됩니다(nvidia-gfxG04-kmp-desktop, nvidia-gfxG04-kmp-default, nvidia-gfxG04-kmp-trace, 그들의 Unified Memory variants). CUDA를 인스톨할 때, 올바른 드라이버 패키지를 지정해야 한다. 그렇게 하지 않으면, zypper가 시스템에서 동작하지 않는 패키지를 선택할지도 모른다. 커널의 특징을 검색하고 적정한 드라이버 패키지를 가진 CUDA를 인스톨하기 위해 다음처럼 하라:
     $ uname -r
     3.4.6-2.10-<flavor>
     $ sudo zypper install cuda nvidia-gfxG04-kmp-<flavor>
    
  5. 사용자를 video 그룹에 추가하라.
     $ sudo usermod -a -G video <username>
    
  6. CUDA Samples GL 의존성을 인스톨하라.
    SLES의 CUDA Samples 패키지는 GLX11 라이브러리에 대한 의존성을 포함하고 있지 않다. SLES SDK에서 이들을 제공하기 때문이다. 여러분이 어떤 샘플을 사용하고자 하는가에 따라 이 패키지들을 개별적으로 인스톨해야 한다.

  7. 설치 후 작업을 수행하라.

3.5. OpenSUSE

  1. 설치 전 작업을 수행하라.

  2. 저장소 메타-데이터를 인스톨하라.

     $ sudo rpm --install cuda-repo-<distro>-<version>.<architecture>.rpm
    
  3. Zypper 저장소 캐시를 리프레쉬하라.
     $ sudo zypper refresh
    
  4. CUDA를 인스톨하라.
     $ sudo zypper install cuda
    
    드라이버는 여러가지 패키지로 제공됩니다(nvidia-gfxG04-kmp-desktop, nvidia-gfxG04-kmp-default, nvidia-gfxG04-kmp-trace, 그들의 Unified Memory variants). CUDA를 인스톨할 때, 올바른 드라이버 패키지를 지정해야 한다. 그렇게 하지 않으면, zypper가 시스템에서 동작하지 않는 패키지를 선택할지도 모른다. 커널의 특징을 검색하고 적정한 드라이버 패키지를 가진 CUDA를 인스톨하기 위해 다음처럼 하라:
     $ uname -r
     3.4.6-2.10-<flavor>
     $ sudo zypper install cuda nvidia-gfxG04-kmp-<flavor>
    
  5. 사용자를 video 그룹에 추가하라.
     $ sudo usermod -a -G video <username>
    
  6. 설치 후 작업을 수행하라.

3.6. Ubuntu

  1. 설치 전 작업을 수행하라.

  2. 저장소 메타-데이터를 인스톨하라.
    Note: aptitude로 프록시 서버를 사용하고 있다면, cuda-repo 패키지를 인스톨하기 전에 똑같은 프록시 세팅을 사용하기 위해 wget을 셋업해야 한다.

    $ sudo dpkg -i cuda-repo-<distro>_<version>_<architecture>.deb
    
  3. Apt 저장소 캐시를 업데이트하라.
    $ sudo apt-get update
    
  4. CUDA를 인스톨하라.
    $ sudo apt-get install cuda
    
  5. 설치 후 작업을 수행하라.

3.7. Additional Package Manager Capabilities

아래는 사용자에게 편의를 주는 패키지 매니저의 몇 가지 추가 기능을 설명하였다.

3.7.1. Available Packages

권장하는 설치 패키지는 cuda 패키지이다. 이 패키지는 전용(native) 개발에 필요한 다른 CUDA 패키지들의 전체 세트를 인스톨하고 대부분의 시나리오를 다룬다.

Cuda 패키지는 고유 개발을 위해 모든 가능한 패키지들일 설치한다. 그것은 컴파일러, 디버거, 프로파일러, 수학 라이브러리, 등등을 포함한다. X86_64 플랫폼에 대해서는 Nsight Eclipse Edition과 비주얼 프로파일러도 포함한다. 또한 NVIDIA 드라이버 패키지도 포함한다.

지원하는 플랫폼에서, cuda-cross-armhf, cuda-cross-aarch64, cuda-cross-ppc64el 패키지들은 각각 ARMv7, ARMv8, POWER8 기반 크로스 플랫폼 개발에 필요한 모든 패키지들을 설치한다. 드라이버 어플리케이션의 크로스 컴파일을 할 수 있도록 타겟 아키텍쳐의 디스플레이 드라이버 패키지의 라이브러리와 헤더 파일도 설치된다. cuda-cross-<arch> 패키지는 전용(native) 디스플레이 드라이버를 설치하지 않는다.

위에서 언급한 패키지로 설치한 패키지들은 그들의 이름을 명시적으로 정의함으로써 개별적으로 설치되어질 수 있다. 가능한 패키지들의 목록은 아래와 같은 방법으로 얻을 수 있다.

$ yum --disablerepo="\*" --enablerepo="cuda\*" list available    \# RedHat
$ dnf --disablerepo="\*" --enablerepo="cuda\*" list available    \# Fedora
$ zypper packages -r cuda                    \# OpenSUSE & SLES
$ cat /var/lib/apt/lists/\*cuda\*Packages \| grep "Package:"    \# Ubuntu

3.7.2. Package Upgrades

cuda 패키지는 CUDA 툴킷의 안정적인 최근 릴리즈를 가리킨다. 새로운 버전이 가능해지면, 툴킷과 드라이버를 업그레이드하기 위해 다음 명령을 사용하라:

$ sudo yum install cuda                                        \# RedHat
$ sudo dnf install cuda                                        \# Fedora
$ sudo zypper install cuda                                     \# OpenSUSE & SLES
$ sudo apt-get install cuda                                    \# Ubuntu

cuda-cross-<arch> 패키지도 같은 방법으로 업그레이드 할 수 있다.

Cuda-drivers 패키지는 CUDA 저장소에 있는 최근 드라이버 릴리즈를 가리킨다. 새로운 버전이 있으면, 다음 명령으로 드라이버를 업그레이드할 수 있다:

$ sudo yum install cuda-drivers                    \# RedHat
$ sudo dnf install cuda-drivers                    \# Fedora
$ sudo zypper install cuda-drivers \
    nvidia-gfxG04-kmp-<flavor>                \# OpenSUSE & SLES
$ sudo apt-get install cuda-drivers                \# Ubuntu

GNOME 또는 KDE와 같은 몇몇 데스크톱 환경에서는 새로운 패키지가 가능해지면 알림 메시지를 표시할 것이다.

자동적으로 업그레이드되는 것을 피하고, X.Y 릴리즈에 대한 툴킷 설치를 막기위해 cuda-X-Y 또는 cuda-cross-<arch>-X-Y 패키지를 설치하라.

한꺼번에 설치가 가능하다. 예를 들어, X.Y CUDA 툴킷과 X.Y+1 CUDA 툴킷 모두를 설치하기 위해 cuda-X.Ycuda-X.Y+1 패키지를 설치하라.

3.7.3. Meta Packages

메타 패키지는 파일을 전혀 또는 약간만 포함하고 있으나, 다중 의존성(multiple dependencies)을 갖는 RPM/Deb 패키지이다. 이는 여러분이 원하는 패키지들에 대한 세부적인 내용을 모를 때, 많은 CUDA 패키지들을 설치하기 위해 사용된다. 아래는 메타 패키지의 목록이다.

Table 5

results matching ""

    No results matching ""