内容简介:在使用了按照以往的经验 ,无非是没有使用
目录
- 发现
- 分析
- 解决
- 总结
发现
在使用了 nvidia/cuda:9.0-cudnn7-devel-ubuntu16.04
作为底层镜像后,重新构建了 pytorch
的底层镜像做为应用的基础镜像,一切都构建的很顺利,就是在正常启动镜像的时候,出现了如下的错误
CUDA driver version is insufficient for CUDA runtime version
分析
按照以往的经验 ,无非是没有使用 nvidia-docker
启动,又或者当前实体机的nvidia driver 版本和 docker 镜像内的版本不一致,那我们一个一个排除,在使用nvidia-docker 启动镜像后,正常使用docker-compose启动应用,使用命令查看cuda和cudnn版本
nvcc --version
输出
nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2017 NVIDIA Corporation Built on Fri_Sep__1_21:08:03_CDT_2017 Cuda compilation tools, release 9.0, V9.0.176
这里对比cuda 版本都是一致的,进一步查看cudnn版本
cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2
输出
#define CUDNN_MAJOR 7 #define CUDNN_MINOR 1 #define CUDNN_PATCHLEVEL 4 -- #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
这里最奇怪的是cudnn版本也是一致的…
解决
分析到这里,我想应该有同学猜到,可能是环境变量不一致导致的,查找关于cuda的所有环境变量发现
实体机:
LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64
docker 内部
LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64
为了验证这个想法,这一次不直接使用docker-compose 直接启动应用,使用nvidia-docker run 镜像方式进入docker 内部,正常启动程序,没想启动成功了,OK,那可以完全肯定是环境变量导致的这个问题,为了进一步解决这个问题,我们有两种方式,一是每次部署的时候都要写好环境变量,二是在dockerfile 里面写好ENV,比如
FROM brucedone/torch:gpu MAINTAINER nicefish66@gmail.com ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64 ENV LIBRARY_PATH /usr/local/cuda/lib64/stubs RUN mkdir /workdir COPY . /workdir RUN pip install -r /workdir/requirements.txt WORKDIR /workdir
总结
这一次我们主要从错误的提示出发,验证了我们对于错误的猜想,时刻记住,对于docker host 的程序 ,环境变量对于应用程序来说相当重要。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- KVM镜像制作及挂载镜像文件
- 查看Docker镜像仓库中镜像的所有标签
- Vagrant 使用国内镜像安装插件和 box 镜像
- Windows 10 解决无法完整下载安装语言包(日语输入法无法下载使用)
- 不要轻易使用 Alpine 镜像来构建 Docker 镜像,有坑!
- Harbor 1.7 发布,在线 GC、镜像历史、镜像复制
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
数据结构、算法与应用
(美)Sartaj Sahni / 汪诗林、孙晓东、等 / 机械工业出版社 / 2000-01 / 49.00
本书是关于计算机科学与工程领域的基础性研究科目之一――数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一个坚实的基础。更为可贵的是,本书不仅仅介绍了理论知识,还提供了50多个应用实例及600多道练习题。 本书......一起来看看 《数据结构、算法与应用》 这本书的介绍吧!