Ubuntu16.04에 CUDA8.0 및 Chainer 설치

CUDA Toolkit을 관리하는 방법으로 nvidia-docker을 사용하는 수단이 있지만 이번에는 이것을 사용하지 않고 직접 CUDA Toolkit을 설치했습니다.

환경


  • Ubuntu16.04 64bit
  • Core i5
  • GeForce 940M

  • 준비하는 것


  • CUDA toolkit
  • cuDNN

  • 드라이버 (자신의 환경에 맞게 적절하게 선택)

  • CUDA Toolkit 설치에는 runfile(cuda_8.0.44_linux.run)을 사용했습니다.


    설치 절차



    1. 드라이버 설치



    Secure Boot가 활성화되어 있는 경우에는 미리 비활성화하십시오.
    Ctrl+Alt+F1로 tty1로 이동하여 nvidia-smi 명령과 드라이버를 설치합니다.
    중간에 X11 설정을 다시 쓸 것인지 묻습니다. 다시 쓰면 화면이 비치지 않기 때문에 다시 쓰지 않는 것이 좋습니다.
    설치가 끝나면 다시 시작하십시오.
    sudo service lightdm stop  # X11を落とす
    sudo ./NVIDIA-Linux-x86_64-<version>.run  # nvidia-smiコマンドがインストールされるはず
    sudo reboot
    
    nvidia-smi 커멘드의 출력이 이런 느낌이 되어 있으면, GPU를 검출할 수 있습니다.
    $nvidia-smi                           
    Mon Aug 15 15:31:22 2016       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 361.77                 Driver Version: 361.77                    |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  GeForce 940M        Off  | 0000:01:00.0     Off |                  N/A |
    | N/A   59C    P0    N/A /  N/A |    254MiB /  2003MiB |      8%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID  Type  Process name                               Usage      |
    |=============================================================================|
    |    0      4105    G   /usr/lib/xorg/Xorg                             165MiB |
    |    0      4988    G   fcitx-qimpanel                                   7MiB |
    |    0      5310    G   ...ves-passed-by-fd --v8-snapshot-passed-by-    67MiB |
    |    0      5598    G   ...DocWrittenScriptsInMainFrame --force-fiel    13MiB |
    +-----------------------------------------------------------------------------+
    

    만약 불안정한 경우는 apt-get 로 드라이버를 인스톨 하면 움직일지도 모릅니다. 그러나 시스템이 X11을 GPU로 움직이려고 X11의 동작이 불안정해지기 때문에 추천하지 않습니다.
    sudo apt-get install nvidia-361
    sudo reboot
    

    2. CUDA toolkit 설치



    tty1에서 다음 명령을 실행합니다.
    참고 : runfile 런타임에 드라이버를 설치할지 묻습니다. 여기서는 설치하지 마십시오.
    sudo service lightdm stop
    sudo ./cuda_8.0.44_linux.run --override  # 注意: ドライバはここではインストールしない
    

    Ubuntu16.04에서는 gcc의 버전이 CUDA의 추천하는 것과 달라 보이지만, --override 옵션을 붙여 Toolkit를 무리하게 설치했습니다.
    설치가 성공하면 /usr/local/cuda-8.0가 존재해야합니다.

    Chainer를 실행할 때 작동하지 않으면 gcc5.2를 설치 한 다음 다시
    sudo service lightdm stop
    sudo ./cuda_8.0.44_linux.run  # 注意: ドライバはここではインストールしない。gcc5.2をあらかじめインストールしておく。
    

    하십시오.

    3. cuDNN 설치



    cuDNN을 확장하여 파일을 복사합니다.
    tar xvf cudnn-8.0-linux-x64-v5.1.tgz
    sudo cp cuda/include/* /usr/local/cuda-8.0/include
    sudo cp cuda/lib64/* /usr/local/cuda-8.0/lib64
    
    .bashrc 에 이것을 추가하고 source ~/.bashrc 하십시오.
    export CUDA_PATH=/usr/local/cuda-8.0
    export PATH=$CUDA_PATH/bin:$PATH
    export LD_LIBRARY_PATH=$CUDA_PATH/lib64:$LD_LIBRARY_PATH
    
    export CPATH=$CUDA_PATH/include:$CPATH
    export LIBRARY_PATH=$CUDA_PATH/lib64:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=$CUDA_PATH/lib64:$LD_LIBRARY_PATH
    

    4. Chainer 설치



    보통 pip3으로 넣습니다.
    sudo pip3 install chainer
    

    5. 동작 체크


    import cupy 가 통과하면 성공입니다.
    $python3
    >>> import cupy
    

    Chainer 소스 코드와 함께 제공되는 MNIST 샘플도 작동합니다.
    git clone [email protected]:pfnet/chainer.git
    cd chainer/examples/mnist     
    python3 train_mnist.py --gpu=0
    

    6. 커널 업데이트에 대하여



    커널이 업데이트되면 드라이버에 액세스할 수 없습니다.
    새 커널이 설치되면 1 드라이버를 다시 설치하십시오.

    좋은 웹페이지 즐겨찾기