cuda_deviceQuery报错35

现在遇到的问题是

我在ubuntu1404系统上,

CUDA Version 8.0.61

NVRM version: NVIDIA UNIX x86_64 Kernel Module 430.40 Sun Jul 21 04:53:48 CDT 2019

运行/usr/local/cuda/samples/1_Utilities/deviceQuery/deviceQuery是可以通过的PASS状态。我去查了官方的表,cuda8对应的nvidia版本最低是375,这个版本没问题。


但是在docker里面不通过

Server:
Engine:
Version: 18.06.2-ce
API version: 1.38 (minimum version 1.12)
Go version: go1.10.3
Git commit: 6d37f41
Built: Sun Feb 10 03:46:30 2019
OS/Arch: linux/amd64
Experimental: false

问题是,我用的nvidia-docker,会把主机的nvidia driver映射到docker里面,所以driver肯定是没问题的,那么我在docker里面也是装的cuda8.0.61,内外的安装包是一样的。但是执行cuda的deviceQuery就会报错35。

唯一的不同就是在外面用nvidia-smi可以看到cuda版本,虽然是错的10.0。但是在docker里看不到,显示的是N/A。我还重新装了遍cuda8.0的toolkit,没装nvidia驱动,也是不行。

内核版本4.4.0-31-generic。


在腾讯云上找到了一篇文章,说原因在于没有把机器上CUDA相关的驱动和库映射到容器内部。

export CUDA_SO="$(\ls /usr/lib32/libcuda* | xargs -I{} echo ‘-v {}:{}’) $(\ls /usr/lib32/libnvidia* | xargs -I{} echo ‘-v {}:{}’)"

但是这篇文章的意思是用docker进入容器,nvidia-docker会把映射都建立好,不存在这个问题。

希望有大神可以解决这个问题。



Ps. 最后发现库里面莫名其妙多出来一个libcuda.so.1这个库,把它删了就好了,可能是两个库版本不一样,导致调用错误。
deviceQuery.exe Starting... CUDA Device Query (Runtime API) version (CUDART static linking) Detected 1 CUDA Capable device(s) Device 0: "GeForce GTX 650" CUDA Driver Version / Runtime Version 9.1 / 8.0 CUDA Capability Major/Minor version number: 3.0 Total amount of global memory: 2048 MBytes (2147483648 bytes) ( 2) Multiprocessors, (192) CUDA Cores/MP: 384 CUDA Cores GPU Max Clock rate: 1072 MHz (1.07 GHz) Memory Clock rate: 2500 Mhz Memory Bus Width: 128-bit L2 Cache Size: 262144 bytes Maximum Texture Dimension Size (x,y,z) 1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096) Maximum Layered 1D Texture Size, (num) layers 1D=(16384), 2048 layers Maximum Layered 2D Texture Size, (num) layers 2D=(16384, 16384), 2048 layers Total amount of constant memory: 65536 bytes Total amount of shared memory per block: 49152 bytes Total number of registers available per block: 65536 Warp size: 32 Maximum number of threads per multiprocessor: 2048 Maximum number of threads per block: 1024 Max dimension size of a thread block (x,y,z): (1024, 1024, 64) Max dimension size of a grid size (x,y,z): (2147483647, 65535, 65535) Maximum memory pitch: 2147483647 bytes Texture alignment: 512 bytes Concurrent copy and kernel execution: Yes with 1 copy engine(s) Run time limit on kernels: Yes Integrated GPU sharing Host Memory: No Support host page-locked memory mapping: Yes Alignment requirement for Surfaces: Yes Device has ECC support: Disabled CUDA Device Driver Mode (TCC or WDDM): WDDM (Windows Display Driver Model) Device supports Unified Addressing (UVA): Yes Device PCI Domain ID / Bus ID / location ID: 0 / 1 / 0 Compute Mode: deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.1, CUDA Runtime Version = 8.0, NumDevs = 1, Device0 = GeForce GTX 650 Result = PASS
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值