1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

新しいGPUで古いverの深層学習フレームワークのコードを動かす際の注意点

Posted at

はじめに

深層学習界隈は時の進みが異常に早くて,一年前のコードが今のフレームワークで動かないことがザラにある.

ハマった例

手元にNvidiaのRTX 2080 Ti 及び GTX 1080 Tiがある環境で,下記のコードを動かすことを考える.

mil-tokyo/bc_learning_sound

SetUpの項目に次のように書いてある.

Install Chainer v1.24 on a machine with CUDA GPU.

それならばと思ってchainerのdockerhubへ飛び,v1.24.0をpullする.

ところが,そのままだと次のエラーが出てプログラムが終了する.

nvcc fatal : Value ‘sm_75’ is not defined for option ‘gpu-architecture’

GTX 1080 Tiに切り替えても同様のエラーが生じる.

nvcc fatal : Value ‘sm_61’ is not defined for option ‘gpu-architecture’

原因は何か?

GPUが新しすぎるため,CUDAが対応していないためだった.
sm_(num)は,GPUのアーキテクチャの番号を表しており,ここに詳細が載っている.

chainerのtag:v1.24.0の環境では,CUDAのバージョンが7.5だったが,GTX 1080 TiはCUDA 8 から,RTX 2080 Tiに至ってはCUDA 10以降でないとCUDAが使えない.

解決策

公式GitHubに転がっているDockerfileを拝借し,cuda 8.0に書き換えてbuildした

Dockerfile
FROM nvidia/cuda:8.0-cudnn5-devel
RUN apt-get update -y && \
    apt-get install -y --no-install-recommends \
    python3-dev \
    python3-pip \
    python3-wheel \
    git \
    cmake \
    libblas3 \
    python3-setuptools && \
    rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*
RUN pip3 install chainer==1.24.0

おわりに

公式イメージだけだとどうしても限界があるので,自前でどんどんbuildしようね.

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?