deeplearning4j: nd4j-cuda-10.1-platform failure due to jnicusparse.dll issue

I setup nd4j-cuda-10.1-platform in my pom.xml but when I run my program. It threw an exception with following root cause:

Caused by: java.lang.UnsatisfiedLinkError: C:\Users\zollen.javacpp\cache\cuda-10.1-7.5-1.5-windows-x86_64.jar\org\bytedeco\cuda\windows-x86_64\jnicusparse.dll: The specified procedure could not be found

System Information

<dependency>
	<groupId>org.deeplearning4j</groupId>
	<artifactId>deeplearning4j-core</artifactId>
	<version>1.0.0-beta4</version>
</dependency>
 <dependency>
          <groupId>org.nd4j</groupId>
          <artifactId>nd4j-cuda-10.1-platform</artifactId>
           <version>1.0.0-beta4</version>
</dependency>
C:\Users\zollen>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Wed_Apr_24_19:11:20_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.1, V10.1.168
C:\Users\zollen>systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name:                   Microsoft Windows 10 Home
OS Version:                10.0.17763 N/A Build 17763
Nvidia GeForce GTX 1070
Driver Version: 430.64

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 20 (8 by maintainers)

Most upvoted comments

Yeah, CUDA updates have been getting really strange since 10.1. Just use the bundled binaries as per this pom.xml file here instead of trying to figure out which version of CUDA you need: https://github.com/bytedeco/javacpp-presets/tree/1.5/cuda#the-pomxml-build-file

Yeah, CUDA updates have been getting really strange since 10.1. Just use the bundled binaries as per this pom.xml file here instead of trying to figure out which version of CUDA you need: https://github.com/bytedeco/javacpp-presets/tree/1.5/cuda#the-pomxml-build-file

thanks a bunch ! worked on my side too, this should really go on the official documentation if problem arise !

it works. just add few lines to pom.xml

<dependency>
    <groupId>org.bytedeco</groupId>
    <artifactId>cuda</artifactId>
    <version>10.1-7.5-1.5</version>
    <classifier>windows-x86_64-redist</classifier>
</dependency>

It works!! Thanks for the quick help!!

Well, anyway, the problem looks like binary incompatibility between what we’ve used to build and what you use. You’re probably using CUDA 10.1 Update 1. Please downgrade to regular CUDA 10.1 (there are previous versions available on nvidia website), and everything should work fine.

And dont forget to reboot your box after downgrade.

CUDA Version: 10.2

See this line in your nvidia-smi output? That one looks strange, since latest CUDA is 10.1

Also, you’re showing me two different systems here. One is cc 52, other one is cc 61.

No, cuDNN is not mandatory. Just recommended if you’re working with convolutional/recurrent stuff.