2009/11/21

Ubuntu 9.04 64bit版にCUDA 2.3 SDKを入れてみた

CUDA 2.3がUbuntu 8.04 LTS向けにはリリースされていないので、サブマシンに9.04 Desktop amd64版を新規にインストールしました。

CUDAはNVIDIAのサイトから入れてみましたが、いろいろ2.2 SDKとは構成が違っていて戸惑っています。 OpenCLとディレクトリ構成が同じになったようですね…。

"~/NVIDIA_GPU_Computing_SDK/C/"ディレクトリでmakeが成功するまでには、追加でつぎのようにパッケージの追加が必要でした。

  • $ sudo apt-get install g++
  • $ sudo apt-get install mesa-common-dev libglu1-mesa-dev libxi6-dev libxmu-dev libglut3-dev

これとは別に"openssh-server"パッケージを入れて、リモートから作業できるようにしています。

CUDA 2.2 Toolkitとの見た目の違い

ライブラリが32bit版と64bit版の両方が添付されているので、古いプログラムで/usr/local/cuda/libを"-L"オプションに指定している場合、32bitのライブラリがサーチパスに入ってるので、64bitのオブジェクトコードとリンクできずにエラーになります。おそらくcommon.mkを修正すれば良いと思われます。

この他にも古いCUDAプログラムをダウンロードしてきた場合、そこに含まれる"lib/libcutil.a"のコンパイルに失敗するといった事例が出ています。[ 参考URL::CUDPP 1.1 compile errors (and fixes) (gcc 4.3.3-5ubuntu4) ] いくつかファイルを修正する他に、CUDA 2.3 SDKをコンパイルしていれば、そこに含まれるlibcutil.aなどのライブラリファイルをlibディレクトリにコピーしてくるだけでも解決できます。

この変更のため環境変数LD_LIBRARY_PATHか"/etc/ld.so.conf.d/"以下のファイルで、"/usr/local/cuda/lib"を指定していれば"/usr/local/cuda/lib64"に変更する必要もあります。

0 件のコメント: