4. Runfile Installation

이 섹션은 독립 인스톨러를 이용할 때, CUDA의 설치와 설정(configuration)을 설명한다. 독립 인스톨러는 ".run" 파일이고 완전히 자급적(self-contained)이다.

4.1. Overview

런파일 설치는 인터렉티브 텍스트 기반 인터페이스를 통해 NVIDIA 드라이버, CUDA 툴킷, CUDA 샘플을 설치한다.

설치 단계를 아래에 열거하였다. Nouveau 드라이버를 비활성화시키기 위한 배보판-지정 지시사항 뿐 아니라 디바이스 노드 생성을 위한 단계도 제공된다.

마지막으로, 인스톨러를 위한 개선된 옵션들과 언인스톨 단계를 아래에 설명하였다.

런파일 설치는 크로스 플랫폼을 위한 지원을 포함하지 않는다. 크로스 플랫폼 개발을 위해 CUDA Cross-Platform Environment 섹션을 보라.

4.2. Installation

  1. 설치 전 작업 수행

  2. Nouveau 드라이버의 비활성화

  3. 텍스트 모드(runlevel 3)로 재부팅(reboot)
    이것은 시스템 커널 부트 파라미터에 숫자 "3"을 붙이면 된다.

    NVIDIA 드라이버가 아직 설치되어 있지 않기 때문에, 텍스트 터미널은 아직 정상적으로 표시되지 않을 지도 모른다. 시스템 커널 부트 파라미터에 "nomodeset"을 붙이면 이 이슈를 일시적으로 고칠 수 있다.

    위의 부트 파라미터가 어떻게 변경할 수 있는지에 대해 여러분의 시스테 부트로더 문서를 찾아보라.

    재부팅은 Nouveau 드라이버를 완전히 언로드(unload)하고 로딩으로부터 그래픽 인터페이스를 방지하는 것을 필요로 한다. Nouveau 드라이버가 로딩되거나 그래픽 인터페이스가 활성화되어 있는 동안에는 CUDA 드라이버를 설치할 수 없다.

  4. Nouveau 드라이버가 로드되어지지 않았음을 확인한다.
    만약 그것이 아직도 로드된 상태이라면, 여러분의 배포판에 대한 문서를 참조하여 Nouveau를 비활성화하기 위해 필요한 것들을 살펴보라.

  5. 인스톨러를 실행시키고 온스크린 프롬프트를 따르라:

     $ sudo sh cuda_<version>_linux.run
    

    인스톨러는 다음의 것들을 프롬프트할 것이다:

    • EULA Acceptance
    • CUDA Driver installation
    • CUDA Toolkit installation, location, and /usr/local/cuda symbolic link
    • CUDA Samples installation and location


    툴킷과 샘플을 위한 기본 인스톨 위치는 아래와 같다:

    Component | Default Installation Directory --------- | ------------------------------ CUDA Toolkit | /usr/local/cuda-8.0 CUDA Samples | $(HOME)/NVIDIA_CUDA-8.0_Samples

    /usr/local/cuda의 심볼 링크(symbolic link)는 CUDA Toolkit이 설치되어 있는 위치를 가리킨다. 이 링크는 어떠한 설정(configuration) 파일의 업데이트 없이도 프로젝트가 가장 최근의 CUDA Toolkit을 사용할 수 있도록 한다.

    인스톨러는 어떤 동작을 수행하기 위해 충분한 권한(privileges)을 갖고 실행되어져야 한다. 현재 권한이 해당 동작을 수행하기에 불충분하다면, 인스톨러는 root 권한을 갖고 인스톨하려고 사용자의 패스워드를 물어볼 것이다. 인스톨러가 root 권한을 필요로 할 때는 다음과 같다:

    • CUDA 드라이버 설치할 때
    • 사용자가 쓰기 퍼미션을 갖고 있지 않은 곳에 CUDA Toolkit을 설치할 때
    • 사용자가 쓰기 퍼미션을 갖고 있지 않은 곳에 CUDA 샘플을 설치할 때
    • /usr/local/cuda 심볼 링크를 생성할 때

    sudo로 인스톨러를 실행하면 root 퍼미션을 필요로 하는 디렉토리에 설치할 수 있는 퍼미션이 주어질 것이다. sudo를 가지고 인스톨러를 실행하는 동안 생성되는 디렉토리와 파일들은 root 오너쉽을 갖을 것이다.

    만약 드라이버를 설치하고 있다면, 인스톨러는 openGL 라이브러리를 설치해야만 하는지를 물을 것이다. 만약 디스플레이에 사용되는 GPU가 NVIDIA GPU가 아니라면, NVIDIA openGL 라이브러리가 설치되지 않을 것이다. 그렇지 않고 NVIDIA GPU가 아닌 그래픽 드라이버가 사용하는 openGL 라이브러리는 덮어쓰여질 것이고, GUI는 동작하지 않을 것이다. 만약 사일런트(silent) 인스톨을 수행하면, openGL 라이브러리가 설치되어지는 것을 방지하기 위해 --no-opengl-libs 옵션을 사용해야 한다. 더욱 자세한 내용은 Advanced Options를 보라.

    만약 디스플레이를 위해 사용되는 GPU가 NVIDIA GPU라면 X 서버 설정(configuration) 파일(/etc/X11/xorg.conf)을 수정할 필요가 있다. 어떤 경우에는 그 시스템을 위해 동작하는 xorg.conf 파일을 자동적으로 생성하기 위해 nvidia-xconfig를 사용할 수 있다. 하나 이상의 GPU를 가진 시스템 처럼 비표준 시스템의 경우에는 xorg.conf를 수동으로 수정하는 것을 권장한다. 자세한 정보는 xorg.conf 문서를 살펴보라.

    노트: Mesa를 설치하는 것이 /usr/lib/libGL.so(NVIDIA 드라이버가 이전에 설치한)를 덮어 쓸 수도 있다. 따라서 이 라이브러리들의 설치 후에 NVIDIA 드라이버를 재설치해야 할 필요가 있을 수도 있다.

  6. 그래픽 인터페이스를 다시 로드하기 위해 시스템을 리부팅하라.

  7. 디바이스 노드가 제대로 생성되었는지 검증하라.

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

4.3. Disabling Nouveau

디스플레이 드라이버를 설치하기 위해, 우선 Nouveau 드라이버를 비활성화해야 한다. 리눅스의 각 배포판은 Nouveau를 비활성화는 방법이 다르다.

만약 다음 명령이 어떤 내용을 출력한다면, Nouveau 드라이버가 로드된 상태이다:

$ lsmod | grep nouveau

4.3.1. Fedora

  1. /usr/lib/modprobe.d/blacklist-nouveau.conf에 파일을 생성하여 다음 내용을 넣어라:
    blacklist nouveau
    options nouveau modeset=0
    
  2. 커널 initramfs를 재생성하라:
    $ sudo dracut --force
    

4.3.2. RHEL/CentOS

  1. /usr/lib/modprobe.d/blacklist-nouveau.conf에 파일을 생성하여 다음 내용을 넣어라:
    blacklist nouveau
    options nouveau modeset=0
    
  2. 커널 initramfs를 재생성하라:
    $ sudo dracut --force
    

4.3.3. OpenSUSE

  1. /usr/lib/modprobe.d/blacklist-nouveau.conf에 파일을 생성하여 다음 내용을 넣어라:
    blacklist nouveau
    options nouveau modeset=0
    
  2. 커널 initrd를 재생성하라:
    $ sudo /sbin/mkinitrd
    

4.3.4. SLES

SLES에는 Nouveau가 인스톨되어 있지 않기 때문에 Nouveau를 비활성화시키기 위한 어떤 작업도 필요하지 않다.

4.3.5. Ubuntu

  1. 다음 내용을 담은 파일을 /etc/modprobe.d/blacklist-nouveau.conf에 생성하라.
    blacklist nouveau
    options nouveau modeset=0
    
  2. 커널 initramfs를 다시 생성하라:
    NOTE: initramfs(initial RAM file system, 초기 램 파일 시스템) : 리눅스 시작 프로세스가 실행될 때 메모리에 로드되는 것으로서, 모든 장치 드라이버를 포함한다.
     $ sudo update-initramfs -u
    

4.4. Device Node Verification

디바이스 파일들 /dev/nvidia*가 존재하고 올바른 파일 퍼미션(0666)을 갖고 있는지 체크하라. 이 파일들은 CUDA가 NVIDIA 드라이버의 커널-모드 부분과 통신하기 위해 사용된다. CUDA 어플리케이션 또는 X 서버와 같이 NVIDIA 드라이버를 사용하는 어플리케이션(만약 그렇다면)은 NVIDIA 드라이버와 함께 동봉된 setuidnvidia-modprobe 툴을 이용하여 이 파일들이 없다면 일반적으로 이 파일들을 자동적으로 생성한다. 그러나, 어떤 시스템들은 setuid 바이너리들을 허용하지 않는다. 그래서 만약 이 파일들이 존재하지 않는다면, 당신은 아래와 같은 스타트업 스크립트를 이용하여 수동적으로 해당 파일들을 생성할 수 있다.

#!/bin/bash

/sbin/modprobe nvidia

if [ "$?" -eq 0 ]; then
  # Count the number of NVIDIA controllers found.
  NVDEVS=`lspci | grep -i NVIDIA`
  N3D=`echo "$NVDEVS" | grep "3D controller" | wc -l`
  NVGA=`echo "$NVDEVS" | grep "VGA compatible controller" | wc -l`

  N=`expr $N3D + $NVGA - 1`
  for i in `seq 0 $N`; do
    mknod -m 666 /dev/nvidia$i c 195 $i
  done
mknod -m 666 /dev/nvidiactl c 195 255
else
  exit 1
fi

/sbin/modprobe nvidia-uvm

if [ "$?" -eq 0 ]; then
  # Find out the major device number used by the nvidia-uvm driver
  D=`grep nvidia-uvm /proc/devices | awk '{print $1}'`

  mknod -m 666 /dev/nvidia-uvm c $D 0
else
  exit 1
fi

4.5. Advanced Options

4.6. Uninstallation

To uninstall the CUDA Toolkit, run the uninstallation script provided in the bin directory of the toolkit. By default, it is located in /usr/local/cuda-8.0/bin:

CUDA Toolkit을 언인스톨하려면, 툴킷의 bin 디렉토리에 제공된 언인스톨 스크립트를 실행하라. 기본적으로 그것은 /usr/local/cuda-8.0/bin 디렉토리에 위치해 있다:

$sudo /usr/local/cuda-8.0/bin/uninstall_cuda_8.0.pl

NVIDIA Driver를 언인스톨하려면, nvidia-uninstall를 실행하라:

$sudo /usr/bin/nvidia-uninstall

Nouveau 드라이버를 활성화시키기 위해 Disabling Nouveau 섹션에서 생성한 블랙리스트 파일을 삭제하라. 그리고 그 섹션에서 설명한 커널 initramfs/initrd를 다시 생성하라.

results matching ""

    No results matching ""