今回は「10年前に作った自作PCにそれなりのGPUを積んだらどんな感じのDeep Learning環境ができるか」と言う検証です。
1. ハードウェアの導入からOS起動まで
検証に使ったパソコンは10年近く前に自作した下記のスペックのパソコンです。途中でHDDをSSDにしたり、CPUを水冷にしたり、筐体のファンを変えたりしましたが、マザーボードとCPUとメモリーについてはほぼ10年前のままです。
OS | Windows10 Pro |
マザーボード | Gigabyte X58A-UD3R |
CPU | Intel Core i7 – 930@2.80GHz (ソケット LGA1366) |
メモリー | 6GB (DDR3 DIMM 1333 MHz 1GB (539.7MHz) x 6枚) |
HDD | SSD (Transcend – 256GB) |
筐体 | Cooler Master |
CPU冷却 | 水冷(Cooler Master MasterLiquid) |
これに対するGPUは、前回のオススメ「RTX 2070 Super」のワンランク下に位置する「RTX 2060 Super」です。これで体感的に処理能力を感じて見て、問題ないかどうかを見てみます。とは言え、最新のGPUなので、まるで、日本的に言えば「おニャン子クラブにAKBが加入した」状況で、パソコンもGPUもお互いにびっくりするだろうと疑心暗鬼での投入です。
グラフィックカード | RTX 2060 Super – ARMOR (MSI) |
GPU | Nvidia RTX 2060 Super |
CUDAコア数 | 2176個 |
メモリー | 8GB GDDR6(memory speed: 14Gbps, memory bus: 256-bit) |
冷却ファン | 8GB GDDR6 |
消費電力 | 175W |
で、新ユニットを早速結成してもらいました。
ちなみに、このデスクトップPCはMacでは処理が重いアプリケーションをRemote Desktopで操作する「ディスプレイレス・サーバー」として使用しています。と言うことで、Macからリモードデスクトップ接続をし、問題なく接続できました。
2. 仮想環境導入とCUDA類のセットアップ
2.1. CUDA
TensorFlow.orgにあるWindowsへのTF-GPUインストール案内を参考に、CUDA関係のソフトウェアを導入します。
- NVIDIA® GPU drivers
-
nVidiaが配布するGPUドライバです。昨今はグラフィックカードにCDが付属することはなくなってきました。付属しているとしても最新版をダウンロードしてインストールするのが良いです。
- CUDA® Toolkit —TensorFlow supports CUDA 10.1 (TensorFlow >= 1.13.0)
-
CUDAを含むコードセットのインストーラーをダウンロードし、実行してインストールします。なお、2019年11月初頭現在でCUDAのバージョンは10.1です。
- CUPTI ships with the CUDA Toolkit.
-
上記のCUDA Toolkitに含まれているので個別に取得しなくて良いです。
- cuDNN SDK (>= 7.4.1)
-
ファイルがzipされた状態でダウンロードされるので、unzipしてWindowsのC:¥直下など任意の場所にtoolsなどのフォルダを作って入れておきます。後ほど、環境変数設定でそのフォルダへパスを通すので、どこに置いたか忘れないようにしましょう。
上記のインストールが終わったら、DOSコマンドプロンプトで環境変数のPATHに上記でインストールしたフォルダを参照するようにパスを通しておきます。
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64;%PATH%
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include;%PATH%
SET PATH=C:\tools\cuda\bin;
ちなみに、DOSコマンドを忘れている人向けに書くと、、上記の4行はそれぞれ一回のコマンドとして書いてあるので、すでにPATH変数に格納されている値にプラスして新規パスを通すために、各行末尾に「%PATH%」と書かれています。1行で済ませたければ
SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include;C:\tools\cuda\bin;
でも良いです。加えてちなみに、「C:\tools\cuda\bin」の「C:\tools\cuda」と言う場所は、cuDNN SDKを解凍して置いた場所です。
2.1. 仮想環境(Anaconda)
Python仮想環境を用意してTensorFlow-GPUをインストールします。仮想環境にはvirtualEnvやDockerなどありますが、Jupyter Notebookを使いたいことに加え、インストールするパッケージの依存関係をGUIでケアしてくれるAnacondaにします。なお、AnacondaよりもコンパクトなMinicondaを進める方々もいますが、ディスク単価が安くなった昨今ではGUIのメリットを享受するため私はAnaconda派です。
Anaconda: ダウンロードページ
なお、現時点でTensorFlow-GPUはPython3.5以下でしかサポートされていません。でも、Python3.7版のAnacondaをダウンロードし、defaultの仮想環境ではなく新たな仮想環境を作成しその時にPythonバージョンを3.5に指定すれば大丈夫です。
ちなみに、GPUはちゃんとCUDA利用可能な状態で認識されています。
今回はCUDAとAnacondaのセットアップまでを行いました。次回2/2では実際にTensorFlow-GPUを稼働させて実用可能な処理速度かどうかを検証します。