スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

pyCUDAをUbuntu 14.04 + CUDA 6.5で使う

以前の記事のアップデートである。

CUDA 6.5はNVIDIA側でUbuntu 14.04に対応しているので、インストールには特別なことは必要ない。
ただし以前のバージョンのcuda、nvidia関連のパッケージは

dpkg -l | grep nvidia
dpkg -l | grep cuda

で調べた上で、一旦アンインストールしておくのがいいだろう。

その上で、NVIDAのダウンロードサイトからcuda-repo-ubuntu1404_6.5-14_amd64.debを持ってきてgdebi等でインストールする。

そして

sudo apt-get update
sudo apt-get install cuda

を実行すればインストールは完了する。約1.7GBほどのディスク領域を使用する。

ここまでで、CUDA 6.5を直接利用するのには問題ない。

一方、pyCUDA等の、CUDAを内部で使用するUbuntuでパッケージングされているソフトウェアは、CUDAのUbuntuでパッケージとして用意されているバージョンである5.5に対してリンクされているのでこのままではインストールできない。無理にインストールするとCUDA 5.5も一緒にインストールされてしまい、CUDA 6.5の環境が破壊される。

そこでCUDA5.5相当の機能がすでにインストールされていることをパッケージデータベースに登録するためのフェイクパッケージを作成する。フェイクパッケージは、2つ必要である。

最初のパッケージは、名前は何でもよいのだが、mycudaglueとする。
次のようなテキストファイルを作成する。(SourceとMaintainerは適宜変更)

### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source:
Section: misc
Priority: extra
Homepage: http://gm3d.blog.fc2.com
Standards-Version: 3.9.2

Package: mycudaglue
Version: 6.5-14
Maintainer: GM3D (@gm3d2 on twitter)
#Depends: cuda (>= 6.5)
Provides: libcublas5.5, libcudart5.5, libcufft5.5, libcufftw5.5,
libcuinj64-5.5, libcurand5.5, libcusparse5.5, libnppc5.5,
libnppi5.5, libnpps5.5, libnvtoolsext1, libnvvm2,
libthrust-dev, libvdpau-dev, nvidia-cuda-dev, nvidia-cuda-doc,
nvidia-cuda-gdb, nvidia-cuda-toolkit, nvidia-libopencl1-331,
nvidia-opencl-dev, nvidia-profiler, nvidia-visual-profiler,
opencl-headers

このファイルをmycudaglueという名前でセーブして、
equivs-build mycudaglue
でできたパッケージをgdebiでインストール。

もう一つはlibcurand5.5のフェイクパッケージである。

libcurand5.5という名前で、以下のファイルを作成。

Section: misc
Priority: optional
Standards-Version: 3.9.2

Package: libcurand5.5
Version: 99
Maintainer: GM3D (@gm3d2 on twitter)

このファイルから、
equivs-build libcurand5.5

によりパッケージを生成、インストールする。これでpyCUDAに関しては依存性が満たされるはずである。念のため、一回

sudo aptitude -s install python-pycuda

でシミュレートを行い、インストールされるのがpython-pycuda、python-pycuda-docのみであることを確認した後、

sudo aptitude install python-pycuda

でインストールを行えば良い。

テストは、上記エントリにも書いてあるように、pyCUDAのhello_gpu.pyあたりを実行してみればよい。
スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

GM3D

Author:GM3D
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
FC2カウンター
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。