PyCUDAのインストール

Google ColabでPyCUDAのプログラムを書いていたのですが、ブラウザ経由で実行するのではなく自分のPCでCUDAを使いたくなったので、インストールを行いました。その時の記録です。

PCの環境

  • GPU : NVIDIA GeForce GTX 1050
  • Anaconda

GPUの確認方法

NVIDIAのGPUがインストールされているPCなら、”NVIDIA コントロール パネル”のソフトがあると思います。

このソフトの[ヘルプ]-[システム情報]より、[ディスプレイ]タブと[コンポーネント]タブに情報が記載されています。

例えば自分のPCの場合、[ディスプレイ]タブから、GPUが”GeForce GTX 1050″であり、CUDAコア数が ”640″ということが分かります。

[コンポーネント]タブからはCUDAのバージョンが”11.1″という事が分かります。

CUDAのバージョンはもともと9だったのですが、CUDA ToolKitをインストールすることで11.1へ上げることが出来ました。

CUDA Toolkit - Free Tools and Training
Get access to SDKs, trainings, and connect with developers.

PyCUDAのインストール

Anaconda Promptを立ち上げて、”pip install pycuda”を実行します。

赤くなってエラーになってしまいました・・・

エラー内容を確認すると、次のようにVC++ 14.0以上のビルドツールが必要と言われています。

 error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”: https://visualstudio.microsoft.com/visual-cpp-build-tools/

  —————————————-

  ERROR: Failed building wheel for pycuda

という事で、エラーメッセージ中にある以下のURLよりビルドツールのインストーラをダウンロードします。

Microsoft C++ Build Tools - Visual Studio

イントーラーを実行すると、何をイントールするか聞かれるので、”C++ Build Tools”と”右側イントールの詳細から”MSVC v140″を選択して、イントールを実行します。

こんな感じでインストールが始まります。2020年10月現在だとバージョンは2019になるみたいです。

インストール後に環境変数のPathへ以下の追加します。

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin

ちなみに、環境変数を編集するときはWindowsの”ここに入力して検索”に”path”と入力すると楽にできますよ。

では、ビルドツールの準備が出来たのでもう一度”pip install pycuda”を実行します。

今度はインストールに成功しました。

インストールが成功したかを確認するため、pycudaのモジュールをimportしてみます。問題なくできました!

インストールトラブルシューティング

pipのバージョンでエラーが生じる

“pip install pycuda”で次のようにpipのバージョンでエラーが出る場合

メッセージに従ってpipをアップグレードします

“python -m pip install –upgrade pip”

pipのアップグレードにもう一度”pip install pycuda”を実行するとインストールが成功します。

モジュールのインポートでエラーが生じる

pycudaのモジュールをインポートすると次のようにSyntaxErrorが生じる場合

最後の表示より、原因はpytoolsにあります。

pytools\__init__.py”, line 249
__slots__: List[str] = []

SyntaxError: invalid syntax

“pip show pytools”でバージョンを確認します。

このバージョンが合わないようなので、このバージョンのpytoolsをアンインストールして、バージョンを指定したpytoolsをインストールします。

アンインストールは次のコマンドを実行します。

pytoolsのインストールできるバージョンを確認するため、バージョンを指定せずに”==”だけのコマンドを実行します。

アンインストールしたバージョン以外を指定して再度インストールします。

例えばバージョン2019.1をインストールする場合、

“pip install pytools==2019.1″と実行します。

コメント

タイトルとURLをコピーしました