主机操作系统:ubuntu 14.04
GPU模型:Tesla K80
Cuda司机:352.93
Docker镜像:bvlc/caffe
基于上层内容,我们尝试在bvlc / caffe容器中运行cd /opt/caffe/build && make runtest
,然后成功查看所有测试用例PASSED。
但是,在我们使用以下shell命令稍微修改了bvlc / caffe图像之后:
echo "dastan ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
useradd dastan && adduser dastan sudo
mkdir -p /home/dastan && chown -R dastan:dastan /home/dastan
然后以dastan
(非root用户)和cd /opt/caffe/build; sudo make runtest
运行,我们在测试用例中得到了CUDA driver version is insufficient for CUDA runtime version
。
我比较了root
和dastan
(非根)方案下的预编译消息,最后发现CUDA NVCC flags
下的root
为{{1}在sm_37
下,non-root
变为sm_20 sm_21 sm_30 sm_35 sm_50
,消息为Automatic GPU detection failed. Building for all known architectures.
有人可以解释一下:CUDA在root和非root下的真正不同之处是什么?