是否有关于使用 deeplearning4j 的 nvidia cuda 编译器的解决方法?
Is there any work around about nvidia cuda compiler with deeplearning4j?
将我的工具包从 8.0 更新到 10.0,但是在尝试初始化计算图时使用 cuda 10.0 时出现以下错误。
ND4J CUDA build version: 10.0.130
CUDA device 0: [GeForce 940MX]; cc: [5.0]; Total memory: [4294967296];
o.n.n.NativeOpsHolder - Number of threads used for OpenMP: 32
o.n.n.Nd4jBlas - Number of threads used for OpenMP BLAS: 0
o.n.l.a.o.e.DefaultOpExecutioner - Backend used: [CUDA]; OS: [Windows 10]
o.n.l.a.o.e.DefaultOpExecutioner - Cores: [4]; Memory: [12.0GB];
o.n.l.a.o.e.DefaultOpExecutioner - Blas vendor: [CUBLAS]
o.n.l.j.o.e.CudaExecutioner - Device Name: [GeForce 940MX]; CC: [5.0]; Total/free memory: [4294967296]
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:67)
Caused by: java.lang.RuntimeException: cudaGetSymbolAddress(...) failed; Error code: [13]
at org.nd4j.linalg.jcublas.ops.executioner.CudaExecutioner.createShapeInfo(CudaExecutioner.java:2557)
at org.nd4j.linalg.api.shape.Shape.createShapeInformation(Shape.java:3282)
at org.nd4j.linalg.api.ndarray.BaseShapeInfoProvider.createShapeInformation(BaseShapeInfoProvider.java:76)
at org.nd4j.jita.constant.ProtectedCudaShapeInfoProvider.createShapeInformation(ProtectedCudaShapeInfoProvider.java:96)
at org.nd4j.jita.constant.ProtectedCudaShapeInfoProvider.createShapeInformation(ProtectedCudaShapeInfoProvider.java:77)
at org.nd4j.linalg.jcublas.CachedShapeInfoProvider.createShapeInformation(CachedShapeInfoProvider.java:44)
at org.nd4j.linalg.api.ndarray.BaseNDArray.<init>(BaseNDArray.java:205)
at org.nd4j.linalg.api.ndarray.BaseNDArray.<init>(BaseNDArray.java:200)
at org.nd4j.linalg.jcublas.JCublasNDArray.<init>(JCublasNDArray.java:375)
at org.nd4j.linalg.jcublas.JCublasNDArrayFactory.create(JCublasNDArrayFactory.java:1576)
at org.nd4j.linalg.factory.Nd4j.create(Nd4j.java:4064)
at org.nd4j.linalg.factory.Nd4j.createArrayFromShapeBuffer(Nd4j.java:2500)
at org.nd4j.linalg.factory.Nd4j.read(Nd4j.java:2552)
at org.deeplearning4j.util.ModelSerializer.restoreComputationGraph(ModelSerializer.java:585)
at org.deeplearning4j.util.ModelSerializer.restoreComputationGraph(ModelSerializer.java:498)
at org.deeplearning4j.zoo.ZooModel.initPretrained(ZooModel.java:101)
at org.deeplearning4j.zoo.ZooModel.initPretrained(ZooModel.java:54)
at org.deeplearning4j.examples.convolution.objectdetection.HouseNumberDetection.main(HouseNumberDetection.java:161)
... 5 more
是否有解决此问题的方法,了解它是因为我的 cc 版本是 5
previously with cuda toolkit 8.0 and nd4j-cuda-8.0 as my backend everything worked out fine.
遗憾的是出现了一些错误,最新版本中没有添加对 cc 5.0 的支持。周一左右会有快照,应该会有cc 5.0支持。
将我的工具包从 8.0 更新到 10.0,但是在尝试初始化计算图时使用 cuda 10.0 时出现以下错误。
ND4J CUDA build version: 10.0.130
CUDA device 0: [GeForce 940MX]; cc: [5.0]; Total memory: [4294967296];
o.n.n.NativeOpsHolder - Number of threads used for OpenMP: 32
o.n.n.Nd4jBlas - Number of threads used for OpenMP BLAS: 0
o.n.l.a.o.e.DefaultOpExecutioner - Backend used: [CUDA]; OS: [Windows 10]
o.n.l.a.o.e.DefaultOpExecutioner - Cores: [4]; Memory: [12.0GB];
o.n.l.a.o.e.DefaultOpExecutioner - Blas vendor: [CUBLAS]
o.n.l.j.o.e.CudaExecutioner - Device Name: [GeForce 940MX]; CC: [5.0]; Total/free memory: [4294967296]
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:67)
Caused by: java.lang.RuntimeException: cudaGetSymbolAddress(...) failed; Error code: [13]
at org.nd4j.linalg.jcublas.ops.executioner.CudaExecutioner.createShapeInfo(CudaExecutioner.java:2557)
at org.nd4j.linalg.api.shape.Shape.createShapeInformation(Shape.java:3282)
at org.nd4j.linalg.api.ndarray.BaseShapeInfoProvider.createShapeInformation(BaseShapeInfoProvider.java:76)
at org.nd4j.jita.constant.ProtectedCudaShapeInfoProvider.createShapeInformation(ProtectedCudaShapeInfoProvider.java:96)
at org.nd4j.jita.constant.ProtectedCudaShapeInfoProvider.createShapeInformation(ProtectedCudaShapeInfoProvider.java:77)
at org.nd4j.linalg.jcublas.CachedShapeInfoProvider.createShapeInformation(CachedShapeInfoProvider.java:44)
at org.nd4j.linalg.api.ndarray.BaseNDArray.<init>(BaseNDArray.java:205)
at org.nd4j.linalg.api.ndarray.BaseNDArray.<init>(BaseNDArray.java:200)
at org.nd4j.linalg.jcublas.JCublasNDArray.<init>(JCublasNDArray.java:375)
at org.nd4j.linalg.jcublas.JCublasNDArrayFactory.create(JCublasNDArrayFactory.java:1576)
at org.nd4j.linalg.factory.Nd4j.create(Nd4j.java:4064)
at org.nd4j.linalg.factory.Nd4j.createArrayFromShapeBuffer(Nd4j.java:2500)
at org.nd4j.linalg.factory.Nd4j.read(Nd4j.java:2552)
at org.deeplearning4j.util.ModelSerializer.restoreComputationGraph(ModelSerializer.java:585)
at org.deeplearning4j.util.ModelSerializer.restoreComputationGraph(ModelSerializer.java:498)
at org.deeplearning4j.zoo.ZooModel.initPretrained(ZooModel.java:101)
at org.deeplearning4j.zoo.ZooModel.initPretrained(ZooModel.java:54)
at org.deeplearning4j.examples.convolution.objectdetection.HouseNumberDetection.main(HouseNumberDetection.java:161)
... 5 more
是否有解决此问题的方法,了解它是因为我的 cc 版本是 5
previously with cuda toolkit 8.0 and nd4j-cuda-8.0 as my backend everything worked out fine.
遗憾的是出现了一些错误,最新版本中没有添加对 cc 5.0 的支持。周一左右会有快照,应该会有cc 5.0支持。