the file libjnicudart.so is there in the directory but libcudart.so is missing.
I did a search and have libcudart.so in there for older cuda versions such as in cuda-11.2-8.1-1.5.5-linux-x86_64.jar dated back in 2021 when I last used DL4J but I also had native cuda installed at that time as well.
I check the contents of the jar files on maven for
https://repo1.maven.org/maven2/org/bytedeco/cuda-platform-redist/11.6-8.3-1.5.7/
and they don’t have the .so file in them so it looks like they are being built or taken from somewhere else, i’m guessing the native install or javacpp-presents if I had a compatible version.
I have downgraded DL4J/nd4j/bytedeco to M2.0/cuda 11.2 as that version still support 11.2 and hey presto it works!
Warning: Versions of org.bytedeco:javacpp:1.5.7 and org.bytedeco:cuda:11.2-8.1-1.5.5 do not match.
Dec 15, 2023 10:18:40 AM org.nd4j.linalg.factory.Nd4jBackend load
INFO: Loaded [JCublasBackend] backend
Dec 15, 2023 10:18:45 AM org.nd4j.nativeblas.NativeOpsHolder <init>
INFO: Number of threads used for linear algebra: 32
Dec 15, 2023 10:18:45 AM org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner printEnvironmentInformation
INFO: Backend used: [CUDA]; OS: [Linux]
Dec 15, 2023 10:18:45 AM org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner printEnvironmentInformation
INFO: Cores: [16]; Memory: [25.0GB];
Dec 15, 2023 10:18:45 AM org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner printEnvironmentInformation
INFO: Blas vendor: [CUBLAS]
Dec 15, 2023 10:18:45 AM org.nd4j.linalg.jcublas.JCublasBackend logBackendInit
INFO: ND4J CUDA build version: 11.2.152
Dec 15, 2023 10:18:45 AM org.nd4j.linalg.jcublas.JCublasBackend logBackendInit
INFO: CUDA device 0: [NVIDIA GeForce RTX 3080 Ti]; cc: [8.6]; Total memory: [12630163456]
Dec 15, 2023 10:18:45 AM org.nd4j.linalg.jcublas.JCublasBackend logBackendInit
INFO: Backend build information:
GCC: "7.5.0"
STD version: 201103L
DEFAULT_ENGINE: samediff::ENGINE_CUDA
HAVE_FLATBUFFERS
However for some reason maven shade is adding both versions of javacpp into the uberjar as I don’t have 1.5.7 listed in my pom.xml only 1.5.5
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-core</artifactId>
<version>1.0.0-M2</version>
</dependency>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-cuda-11.2</artifactId>
<version>1.0.0-M2</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>cuda</artifactId>
<version>11.2-8.1-1.5.5</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>cuda</artifactId>
<version>11.2-8.1-1.5.5</version>
<classifier>linux-x86_64-redist</classifier>
</dependency>
[INFO] Including org.bytedeco:javacpp:jar:1.5.7 in the shaded jar.
[INFO] Including org.bytedeco:javacpp:jar:linux-x86_64:1.5.7 in the shaded jar.
[INFO] Including org.nd4j:nd4j-native-api:jar:1.0.0-M2 in the shaded jar.
[INFO] Including org.bytedeco:cuda-platform:jar:11.2-8.1-1.5.5 in the shaded jar.
[INFO] Including org.bytedeco:javacpp-platform:jar:1.5.5 in the shaded jar.
I can live with just M2.0 for now but I need to sort out this 1.5.7 vs 1.5.5 mismatch as I think it will cause errors later
Warning: Versions of org.bytedeco:javacpp:1.5.7 and org.bytedeco:cuda:11.2-8.1-1.5.5 do not match.
i’m using 3.5.1 of maven shade.