Hello everybody!
I have recently installed CUDA 9 toolkit and tried running some JCuda 0.8.0 code on my local Windows 10 x64 machine in Eclipse IDE. I have successfully run some sample code found on the internet.
Next thing that I wanted to try is running some JCublas code, but got exception:
Exception in thread “main” java.lang.UnsatisfiedLinkError: Error while loading native library “JCublas2-0.8.0-windows-x86_64”
Operating system name: Windows 10
Architecture : amd64
Architecture bit size: 64
—(start of nested stack traces)—
Stack trace from the attempt to load the library as a file:
java.lang.UnsatisfiedLinkError: no JCublas2-0.8.0-windows-x86_64 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at jcuda.LibUtils.loadLibrary(LibUtils.java:143)
at jcuda.jcublas.JCublas2.initialize(JCublas2.java:81)
at jcuda.jcublas.JCublas2.<clinit>(JCublas2.java:66)
at jcublas.Main.sgemmJCublas(Main.java:70)
at jcublas.Main.testSgemm(Main.java:54)
at jcublas.Main.main(Main.java:30)
Stack trace from the attempt to load the library as a resource:
java.lang.UnsatisfiedLinkError: C:\Users\Xeobo\AppData\Local\Temp\JCublas-0.8.0-windows-x86_64.dll: Cant find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at jcuda.LibUtils.loadLibraryResource(LibUtils.java:260)
at jcuda.LibUtils.loadLibrary(LibUtils.java:158)
at jcuda.jcublas.JCublas2.initialize(JCublas2.java:81)
at jcuda.jcublas.JCublas2.<clinit>(JCublas2.java:66)
at jcublas.Main.sgemmJCublas(Main.java:70)
at jcublas.Main.testSgemm(Main.java:54)
at jcublas.Main.main(Main.java:30)
---(end of nested stack traces)---
at jcuda.LibUtils.loadLibrary(LibUtils.java:193)
at jcuda.jcublas.JCublas2.initialize(JCublas2.java:81)
at jcuda.jcublas.JCublas2.<clinit>(JCublas2.java:66)
at jcublas.Main.sgemmJCublas(Main.java:70)
at jcublas.Main.testSgemm(Main.java:54)
at jcublas.Main.main(Main.java:30)
Since Eclipse successfully found JCublas-0.8.0-windows-x86_64.dll library, I suppose the problem is that I don’t have some other libraries that JCublas is dependent on. I think that only other library it should be dependent on is JCuda, so I tried to preloading it with System.loadLibrary but got the same error.
Kind Regards,
Vladimir Zbiljic