我尝试使用GPU运行使用dl4j构建的神经网络。使用本机平台依赖项时,代码工作正常,但是当我切换到使用CUDA时,执行失败并出现异常:
Caused by: java.lang.UnsatisfiedLinkError: ...\cuda-8.0-6.0-1.3-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\jnicuda.dll: Can't find dependent libraries
以下是我在build.gradle中的内容:
// compile group: 'org.nd4j', name: 'nd4j-native-platform', version: '0.9.1'
compile group: 'org.nd4j', name: 'nd4j-cuda-8.0-platform', version: '0.9.1'
以下是IDEA中的依赖关系:
我能够安装CUDA工具包并构建示例。运行deviceQuery显示我的CUDA驱动程序/运行时版本是9.1,这是一个问题,因为nd4j-cuda-8.0-platform引用了8.0?不确定,因为版本是0.9.1,它匹配我的CUDA版本,似乎没有9.0平台可用。
我还缺少一些额外的东西吗?如果是这样,我该如何排除/解决此问题?
答案 0 :(得分:2)
因此,事实证明存在一些问题。首先,deeplearning4j的当前版本不支持CUDA 9,我天真地安装了它认为最新和最好的是最好的。我尝试过的最新快照支持CUDA 9,但显然由于Gradle和快照的某些问题,无法解决问题。
最终我从PC上卸下了与CUDA相关的所有内容,并从头开始安装了CUDA 8,重新启动了计算机,现在看起来似乎有用了。