私が取り組んでいるプロジェクト用に Mavenized JCUDA をセットアップしようとしていますが、ライブラリ ファイルの場所を Java に伝える際に問題が発生しています。
ファイルをビルドするための maven のセットアップと取得.jar
は正常に機能し.dll
ました。正しい名前の.dll
ファイルが表示されproject\target\lib
、ネイティブ ライブラリの場所をこのフォルダーに設定しています。
JCUDA JCublasSample.java (www.jcuda.org/samples/JCublasSample.java) からプログラムの 1 つを実行しようとしたときに発生するエラーは次のとおりです。
入力データを作成中... JavaでSgemmを実行中... JCublasでSgemmを実行中...
スレッド「メイン」の例外 java.lang.UnsatisfiedLinkError: ネイティブ ライブラリを読み込めませんでした。
ベース名「JCublas」のネイティブ ライブラリ「JCublas-windows-x86_64」のロード中にエラーが発生しましたオペレーティング システム名: Windows 7 アーキテクチャ: amd64 アーキテクチャ ビット サイズ: 64
ライブラリをリソースとしてロードしようとしたときのスタック トレース: java.lang.NullPointerException: No resource found with name '/lib/JCublas-windows-x86_64.dll'
jcuda.LibUtils.loadLibraryResource(LibUtils.java:149) で jcuda.LibUtils.loadLibrary(LibUtils.java:83) で jcuda.jcublas.JCublas.initialize(JCublas.java:93) で jcuda.jcublas.JCublas.(JCublas .java:81) JCublasSample.sgemmJCublas(JCublasSample.java:64) JCublasSample.testSgemm(JCublasSample.java:49) JCublasSample.main(JCublasSample.java:25)
ライブラリをファイルとしてロードしようとしたときのスタック トレース: java.lang.UnsatisfiedLinkError: C:\Users\kristoffer.bernhem\git\SMlocalizer\target\lib\JCublas-windows-x86_64.dll: 依存ライブラリが見つかりません
java.lang.ClassLoader$NativeLibrary.load(Native Method) で java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) で java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857) で java.lang.Runtime で.loadLibrary0(Runtime.java:870) で java.lang.System.loadLibrary(System.java:1122) で jcuda.LibUtils.loadLibrary(LibUtils.java:94) で jcuda.jcublas.JCublas.initialize(JCublas.java: 93) jcuda.jcublas.JCublas.(JCublas.java:81) で JCublasSample.sgemmJCublas(JCublasSample.java:64) で JCublasSample.testSgemm(JCublasSample.java:49) で JCublasSample.main(JCublasSample.java:25) でjcuda.LibUtils.loadLibrary(LibUtils.java:128) で jcuda.jcublas.JCublas.initialize(JCublas.java:93) で jcuda.jcublas.JCublas.(JCublas.java:81) で JCublasSample.sgemmJCublas(JCublasSample.java:64) JCublasSample.testSgemm(JCublasSample.java:49) で JCublasSample.main(JCublasSample.java:25) で
Guenther が説明したように、問題.dll
は不足しているサポート ファイルにあります。このエラーを整理するにはどうすればよいですか?
これは Windows 7 (64 ビット) で実行され、JDK1.8.0_91 で実行されます。