iMac에서 gpu 모드의 chainer를 움직여 보았습니다.

iMac (late 2012)에서 chainer를 gpu 모드로 이동



요 전날 세미나에서 chainer를 알고 자신도 움직여보고 싶은 도전 해 보았습니다.

집의 iMac은 NVIDIA의 그라보를 실었기 때문에 어차피라면 gpu 모드로
움직이고 싶었지만 좀처럼 성공하지 않고 고생했습니다. . .

어떻게 든 mnist를 gpu 모드로 움직이는 데 성공했기 때문에 기록으로 작성합니다.

다음 내용은 2016/3 시점의 내용입니다.

환경



기계 : iMac(late 2012)
CPU : Core i7 3.4GHz
메모리 : 24GB
GPU : GForce GTX 680MX
OS : 10.11.4(El Capitan)

파이썬 설치


  • pyenv를 설치하고 ver 2.7.11을 설치
  • pyenv-virtualenv를 설치하고 chainer에 대한 환경을 만듭니다
  • .bash_profile에 다음을 설명합니다.

    .bash_profile
    #pyenv
    export PATH="\$HOME/.pyenv/bin:\$PATH"
    eval "\$(pyenv init -)"
    eval "\$(pyenv virtualenv-init -)"
    

    chainer 설치 (cpu 모드)



    pyenv_virtualenv로 작성한 환경을 default로 한 전제로
    pip install chanier
    

    위에서 mnist 샘플 코드를 다운로드하고 gpu = -1로 실행 한 결과 성공
    cpu 모드는 매우 간단합니다!

    cuda 설치



    gpu 모드로 움직이기 위해 cuda를 설치했습니다.
  • NVIDIA 사이트에서 MacOS 용 다운로드 (Ver 7.5)
    htps : //에서 ゔぇぺぺr. 응아아. 코 m / 쿠다 - ww 아아 ds
  • 다음 페이지에서 cudnn 다운로드 (등록 필요)
    htps : //에서 ゔぇぺぺr. 응아아. 코 m / kud
  • cuda 설치 프로그램을 시작하고 설치
  • cudnn 파일의 압축을 풀고 파일 복사
    include ->/Developer/NVIDIA/CUDA-7.5/include
    lib ->/Developer/NVIDIA/CUDA-7.5/lib
  • .bash_profile에 다음을 설명합니다.

    .bash_profile
    ## cuda 7.5
    export PATH=/Developer/NVIDIA/CUDA-7.5/bin:/Developer/NVIDIA/CUDA-7.5/bin/nvcc:$PATH
    export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:$DYLD_LIBRARY_PATH
    
  • chainer 재설치
  • pip uninstall chanier
    pip install chanier
    
  • mnist 샘플 코드를 gpu=0으로 실행
    -> 실패 (import cupy에서 오류)
  • 조사해 보았을 때 El Captitan은 DYLD_LIBRARY_PATH를 덮어 쓸 수 없다는 기사를 찾았습니다.
    -s /usr/local/cuda/lib/* /usr/local/lib
    -s /Developer/NVIDIA/CUDA-7.5/lib/* /usr/local/lib[^1]
    

    [^1]/usr/local/cuda와/Developer/NVIDIA/CUDA-7.5의 lib를 각각 링크하고 있는 것은 lib 폴더만 다른 파일이 들어 있기 때문에
  • 다시 chainer를 다시 설치하고 코드 실행
    0> 실패 (xcode7.3의 명령 줄 도구 버전이 지원되지 않는다는 오류와 같습니다)
  • "nvcc fatal : The version ('70300') of the host compiler ('Apple clang') is not supported".
    
    

    XCode 설정 변경


  • Command Line Tools를 다운 그레이드하고 싶으므로 다음 페이지에서 xcode ver 6.4 다운로드
    htps : //에서 ゔぇぺぺr. 아 ぇ. 코 m / 도 w 응 아 ds /
  • xcode.app (6.4) 패키지의 XcodeDefault.xctoolchain 폴더를 Xcode640.xctoolchain으로 이름을 바꾸고 xcode (사용하는 새로운 사람)의 동일한 위치에 복사


  • xcode를 시작하고 "preferences"-"Locations"의 "Command Line Tools"풀다운을 "Xcode 6.4"로 변경
  • 다시 chainer를 다시 설치하고 gpu=0으로 코드 실행
     -> 성공!!

  • 요약



    NVIDIA의 GPU를 실은 Mac이라면 chainer를 GPU 모드로 움직일 수 있는 것을 확인할 수 있었다.
    딥 러닝에 자주 사용되는 GPU에 비하면 비력한 GPU이지만, 그래도 CPU보다는 고속으로 학습하고 있어 감동이었습니다.
    드디어 환경을 구축할 수 있었으므로, 앞으로 내용을 만져 가려고 생각합니다.

    좋은 웹페이지 즐겨찾기