トップ 新規 編集 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

OMPCUDAのインストールに関するメモ

[ソフトウェア]

このページでは、OMPCUDAのインストール手順ならびにトラブルの解決法について解説する。ただし、想定される全てのトラブルに関してまとめているわけではないので、あくまで参考程度に活用いただければ幸いである。

インストール作業の流れ

本節では、OMPCUDAのインストール作業の流れについて解説する。

ログイン

SSHでサーバ(ここではblackbase)へログインし、更にTeslaへログインする(Teslaにログインしないと、bash_profile等でパスを通していてもjavacやnvccなどのコマンドは実行できない。なお、ログインパスは一般ユーザであればblackbaseのパスと同じ)。

OMPCUDAの配置とJDK等のダウンロード

OMPCUDAのプログラム一式をサーバ上の割り当てられた自身の適当なディレクトリに配置する。また、JDK, crimson.jar, ant, junit.jarの4つのプログラムが必要なのでそれぞれダウンロードして適当なディレクトリ(e.g home/*****/java/)に配置する。自身のbash_profileを開いてこれらのパスを通す。

CUDA SDKのインストール

(当たり前だが)OMPCUDAを動かすためにはCUDAの開発環境も必要である。ただし、(blackbase上で作業する場合)ドライバとツールキットはすでにインストールされているはずなので、SDKのみをインストールして、これらのパスを通す。

Makefileの編集

OMPCUDAのファイル内にある「../ompcuda/Makefile」を編集する。編集する箇所は、1行目「CUDA_TOOLPATH」と「CUDA_SDKPATH」のみ。これらで指定しているディレクトリを自分の環境に合わせる。

makeコマンドの実行

OMPCUDAのファイル内「../」に移動し、「./configure --prefix=インストールしたいディレクトリ(フルパス指定)」「make」「make install」の順に実行する。特に設定などを間違っていなければ問題なく通るはず。

テストプログラムの動かし方

テストプログラムは、ompcudaのファイル内の「../ompcudatest/」以下にある。

common_base.mkの編集

「../ompcudatest/」内にある「common_base.mk」というファイルで指定されているパス等を自分の環境に合わせて編集する。

makefileの編集と変換

例えば、「../ompcudatest/cloop/」内のテストプログラムを動かしたい場合、同ディレクトリ中のMakefileを自分の環境に合わせて編集する。次に「make 変換したいプログラム名(拡張子なし)」と入力することで、実際に変換できるはず。後は、生成された実行ファイルを動かすことで動作を確認できる。

トラブルシューティング

本節では、確認したトラブルとその解決法について解説する。

make installが通らない問題

make installを実行した際に「mkdirの権限がない」といった感じのエラーが出る。これは、./configureを実行する際に指定する「--prefix」以下のパス指定が間違っている場合に起こる。そのため、「/home/*****/ompinstalled/(*****はユーザ名)」のようにフルパスで指定することで回避できる。

キャッシュにデータが残っており正常にmakeが通らない問題

makeが通らない場合、ompcudaのファイル内「../」にある「config.cache」「config.log」を削除することで、makeが正常に通る場合がある。

CUDAのバージョンによる問題

OMPCUDAはCUDA2.0の開発環境下を想定してコーディングされているため、それ以降のバージョンのCUDAを用いた場合、正常にインストールできない場合がある。この問題の主な解決法としては、エラーの出力結果を参考にして、「../ompcuda/」内のファイル「ompcuda_cpu.cpp」を書き換えることで解決する。

具体的には、225行目の最初のアーギュメント「*device」を削除する。

Antのパスが通らない問題 + make install時のパーミッションの問題

「chmod u+x Ant本体へのパス(e.g /home/*****/apache-ant-nnn/bin/ant)」で多分解決するはず。

なお、「make install」を行った際にpermission deniedを吐かれる場合、「utils/」内の「mkdirhier」や「install-sh」のパーミッションが問題となる場合がある。Antと同様にchmodコマンドで回避可。

その他

・「./configure...」からmake installまでの操作は面倒臭いのでシェルを書いたほうが効率的。

・テストプログラムが正常に動作しない場合、インストール時に一部のファイルが実行されていない可能性大(特に、utils/gen~とか)。インストール時に生成されるログをチェックすべし。

・基本的にsudoコマンドを使わなくても一連のインストール作業はできるようになっているはず(エラーの解決等でsudoが必要に感じたら、パスの指定など別の箇所で間違っている可能性大)。

・サーバへのファイルの転送などはWinSCPなどを利用すると便利(ただし、wgetコマンドなどを用いて必要なファイルを直接ダウンロードしても良いかも)。 http://winscp.net/eng/docs/lang:jp

・ccDriver2.javaの編集CUDA SDKなどのパスの指定の仕方によっては、エラーなどを参考に「../exc-tools-java/exc/ompcuda/」内のcudaDriver2.javaなどを編集する必要がある。

・変換した実行ファイルが動かない次のようなエラーが出て実行ファイルが動かない場合がある。

Using CUDA Device [0]:Tesla T10 Processorload__ompc_func_3.ptx Failedinit Function : Failed

このエラーは、「../ompcuda/」内のompcuda_cpu.cppの277行目の記述「.ptx」を「.cubin」に書き換えることで解決できる。

02/08/2012 iwashita

最終更新時間:2012年05月22日 15時30分35秒