Ubuntu 14.04 (64bit) に PyCUDA をインストール
PyCUDA をインストールするための手順です。
インストールは順調にいったものの、テストコードを動かすときに python-six モジュール絡みのエラーで少しはまりました。
それの解決法も書いておきます。
基本的に以下のサイトを参考にしています。
PyCuda/Installation/Linux/Ubuntu - Andreas Klöckner's wiki
Ubuntu以外の方はこちらから行けます。
PyCuda/Installation/Linux - Andreas Klöckner's wiki
環境
・Ubuntu 14.04 - 64bit
・gcc 4.8.2
・python 2.7.6
・CUDA 6.5
手順
1. 関連するライブラリをインストール
% sudo apt-get install build-essential python-dev python-setuptools libboost-python-dev libboost-thread-dev -y
2. pycuda をダウンロード、解凍
下記サイトから pycuda-2014.1.tar.gz をダウンロードする。
pycuda 2014.1 : Python Package Index
適当な場所で解凍。
% tar xzvf pycuda-2014.1.tar.gz
3. インストール
下記コマンドを順次打ち込んでいく。
注意:./configure.py〜は、Ubuntu-64bit環境向けのコマンドです。
他の環境の場合は、参考サイトに書かれているものを使用してください。
% cd pycuda-2014.1 % ./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib/x86_64-linux-gnu --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python --boost-thread-libname=boost_thread --no-use-shipped-boost % make -j 4 % sudo python setup.py install
最後に以下のように表示されればOK。
Using /usr/lib/python2.7/dist-packages
Finished processing dependencies for pycuda==2014.1
4. テストコードを動かす
% cd test % python test_driver.py
ここで、私はエラーが発生してテストコードが動きませんでした。
> from six.moves import range, zip, intern, input
> ImportError: cannot import name intern
みたいな感じ。
調べてみると python-six というモジュールが古かった(1.5.2)のが原因でした。
pip や apt-get でアップグレードしてもうまくいかず。
どうやら、リポジトリにあるバージョンそのものが古いようで、
手作業でインストールする必要があるようです。
six package : Ubuntu
上記URLから python-six_1.9.0-1_all.deb をダウンロードし
sudo dpkg -i python-six_1.9.0-1_all.deb
とすればOK。
無事に test_driver.py も動きました。