JCuda - ダウンロードとコンパイル

ホーム 目次に戻る

CUDA 9.2 のインストール

JCuda をインストールする前に、CUDA 9.2 をインストールしておく必要があります。
NVidia 社の CUDA Download からアクセスすれば簡単にインストールできます。
ビデオドライバも更新しておきます。(CUDA 9.2 は nvidia-396 が最新のようです)
また、nvcc にアクセスできるように /usr/local/cuda/bin を PATH 環境変数に追加しておきます。

openjdk, maven, cmake のインストール

openjdk-8-jdk パッケージを apt-get から、maven を Apache のサイトから、cmake を cmake のサイトからそれぞれダウンロードして展開しておきます。
なお、Ubuntu 16.04 に標準で入っている maven および cmake でも以下の作業は行えました。

jdk をインストールしたら JAVA_HOME 環境変数と PATH 環境変数への追加を忘れないようにします。


JCuda ソースコードのダウンロードとコンパイル

JCuda のソースコードは GitHub でメンテナンスされています。
/usr/local/src/jcuda という名前のディレクトリを作成し、その下をカレントディレクトリとしておきます。
以下のリポジトリを全て GitHub から取得します。

cmake ./jcuda-main
を実行し、cmake ファイルと Makefile を作成します。

CUDA のルートディレクトリが見えなくなることがあります。
この場合は、jcuda 直下で ccmake . を実行し、/usr/local/cuda を設定します。

ccmake を起動し、c ボタンを押して Makefile を作成します。
JCuda 0.9.0d は CUDA 9.0 を想定しているため、cufftSetCompatibleMode() の呼び出しに失敗します。
jcuda/JCufftJNI/src/JCufft.cpp の一番最後の関数の戻り値を JCUFFT_INTERNAL_ERROR 等に変更します。

nvcc がパスに見えていることを which コマンド等で確認します。
make clean all とするとコンパイルが実行されます。
コンパイルがうまくいったらテストとインストールを行います。
cd jcuda-main で移動し、pom.xml から cuDNN (JCudnn) 関連の設定を取り除きます。
mvn clean install とすると、テストとインストールが実施されます。
全てのテストがパスすることを確認します。

インストール先は、jcuda-main/output ディレクトリとなります。


JCuda プログラムを実行してみる

実行に際して最低限必要な jar ファイルは、以下の2つです。
カレントディレクトリに両方共コピーしてください。

JCuda サンプルファイル集にある、JCudaDriverSample.java および JCudaDriverSample.cu をダウンロードします。

javac -cp ".:jcuda-0.9.0d.jar:jcuda-natives-0.9.0d-linux-x86_64.jar" JCudaDriverSample.java
java -cp ".:jcuda-0.9.0d.jar:jcuda-natives-0.9.0d-linux-x86_64.jar" JCudaDriverSample
とすると

Test PASSED
などの表示が行われます。
Copyright (c) 2017-2019 by TeqStock.tokyo