java - 尝试运行 JCuda 示例时 java.library.path 中没有 JCudaRuntime-0.9.2-windows-x86_64

标签 java cuda cublas jcuda

我已在 Gradle 中导入以下库:

compile group: 'org.jcuda', name: 'jcuda-natives', version: '0.9.2'
compile group: 'org.jcuda', name: 'jcublas-natives', version: '0.9.2'
compile group: 'org.jcuda', name: 'jcublas', version: '0.9.2'

并复制粘贴JCublasSampleexample from JCuda page .

不幸的是,我收到以下错误:

Creating input data...
Performing Sgemm with Java...
Performing Sgemm with JCublas...
Exception in thread "main" java.lang.UnsatisfiedLinkError: Error while loading native library "JCudaRuntime-0.9.2-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 JCudaRuntime-0.9.2-windows-x86_64 in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
    at jcuda.LibUtils.loadLibrary(LibUtils.java:143)
    at jcuda.runtime.JCuda.initialize(JCuda.java:422)
    at jcuda.runtime.JCuda.<clinit>(JCuda.java:406)
    at jcuda.jcublas.JCublas.initialize(JCublas.java:93)
    at jcuda.jcublas.JCublas.<clinit>(JCublas.java:81)
    ...

当然,图书馆不存在。问题是如何链接Maven/Gradle?网站称所有 DLL 都应位于 JAR 内。

CUDA 已安装,但我没有像处理 nd4j 那样在任何地方指定它的版本。

最佳答案

这是我的错:正确 CUDA 版本的 cublas DLL 不在 PATH 中。 JCublas 的 DLL 在没有任何 Gradle 技巧的情况下成功加载,因为代码将其复制到 CLASSPATHtmp 目录中。同时,错误消息没有提供任何信息,建议我在其他地方寻找问题,而且 Gradle 示例也很困惑。

总结所需内容:安装与 JCublas 相同版本的 CUDA(且路径正确),并在类路径上提供所需的“ native ”JAR。

关于java - 尝试运行 JCuda 示例时 java.library.path 中没有 JCudaRuntime-0.9.2-windows-x86_64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53034218/

相关文章:

c++ - 为什么我的 CUDA 实现与我的 CPU 实现一样快

c++ - CUDA/CUBLAS 矩阵 vector 乘法

c++ - cuBLAS cublasSgemv “Segmentation fault"

java - Netty Comet 异步请求超时

java - 创建共享库时链接错误

CUDA - "Unaligned memory accesses not supported"

c++ - 在输出中混合推力和 cuBLAS 意外结果

java - 在静态对象上同步

java.util.zip.ZipFile.ensureOpenOrZipException 与 WAS 7

ubuntu - 用cuda的时候用desktop或者gui界面可以吗?