Tag: nvidia

无法安装nvidia-docker -dpkg:依赖关系问题妨碍了nvidia-docker的configuration

我正在尝试从https://github.com/NVIDIA/nvidia-docker链接安装nvidia-docker for ubuntu发行版,但正在运行 sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb 我得到以下错误。 dpkg -i nvidia-docker_1.0.1-1_amd64.deb (Reading database … 11114 files and directories currently installed.) Preparing to unpack nvidia-docker_1.0.1-1_amd64.deb … Unpacking nvidia-docker (1.0.1-1) over (1.0.1-1) … dpkg: dependency problems prevent configuration of nvidia-docker: nvidia-docker depends on docker-engine (>= 1.9.0) | docker-ce | docker-ee; however: Package docker-engine is […]

Dockerfile与非主分支嵌套

我有几个Dockerfile图像与以下嵌套: MyImage(master) FROM shalakhin/base – > Base(master) FROM centos7 是否可以这样做: MyImage(gpu) FROM shalakhin/base:gpu – > Base(gpu) FROM centos7:gpu ? 我需要,因为主分支有默认configuration,而我想支持nvidia-docker映像,而不是使用centos7而是centors-cuda base。

Nvidia的docker – 不能findlibnvcuvid.sobuild设过程

我写了一个Dockerfile来构build我的QT应用程序,并且在编译时遇到了一些问题。 如果build命令在Dockerfile上,它会显示这个错误: ninja: error: '/usr/lib/x86_64-linux-gnu/libnvcuvid.so', needed by 'bin/x64/release/*****/librtmpPlugin.so', missing and no known rule to make it 我添加了一个符号链接来解决临时容器上的这个错误: ln -s /usr/local/nvidia/lib64/libnvcuvid.so.1 /usr/lib/x86_64-linux-gnu/libnvcuvid.so 但是,当我添加该行,并再次build立,我仍然有同样的错误。 首先,我认为这是因为一些悬挂图像的caching,但清理所有问题仍然存在。 这是我的一些ENV键: ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64 ENV LIBRARY_PATH /usr/local/cuda/lib64/stubs:${LIBRARY_PATH} ENV PATH /usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} ENV OPENCL_HEADERS /usr/local/cuda/include ENV LIBOPENCL /usr/local/cuda/lib64 ENV CUDA_TOOLKIT_ROOT_DIR /usr/local/cuda ENV CUDA_NVCC_EXECUTABLE /usr/bin/nvcc 这是我做的一些“黑客”,以消除其他错误: RUN mv /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 /usr/lib/x86_64-inux-gnu/libOpenCL.so.1_old RUN ln -s /usr/local/cuda/lib64/libOpenCL.so.1 /usr/lib/x86_64-linux-gnu/libOpenCL.so.1 […]

如何从Docker容器连接到Nvidia MPS服务器?

我想重叠许多docker集装箱使用的GPU。 Nvidia提供了一个实用程序来实现这一点: 这里logging的多进程服务。 具体来说它说: 当CUDA首次在程序中初始化时,CUDA驱动程序将尝试连接到MPS控制守护进程。 如果连接尝试失败,程序继续运行,正常情况下没有MPS。 但是,如果连接尝试成功,则MPS控制守护程序将继续执行,以确保在与客户端连接之前启动的MPS服务器与连接客户端的用户标识相同。 MPS客户端然后继续连接到服务器。 MPS客户端,MPS控制守护程序和MPS服务器之间的所有通信都使用命名pipe道完成。 默认情况下,命名pipe道被放置在/tmp/nvidia-mps/ ,所以我使用卷与容器共享该目录。 但是这对于容器上的cuda驱动程序来“看见”MPS服务器是不够的。 我应该在主机和容器之间共享哪些资源,以便连接到MPS服务器?

Nvidia-docker将文件夹添加到容器

我很新的docker集装箱。 我知道有ADD和COPY操作,所以一个容器可以看到文件。 如何让容器访问给定的目录,我可以把我的数据集? 比方说,我有一个/ home /用户名/数据集目录如何在/数据集或在docker容器中的东西,所以我可以参考它? 有容器引用主系统上的一个目录的方法,所以你不必有重复的文件。 其中一些数据集将是相当大的,虽然我可以删除原来的复制后..这只是烦人,如果我想在docker容器外的文件做一些事情。

docker集装箱中是否提供NCCL2?

我将要构build一个infiniband GPU集群以进行深度学习。 由于有几个主机,我想通过使用nvidia-docker(Dockerfile)来简化部署。 许多深度学习框架都有自己的官方容器(Dockerfile),所以我认为很多人都认为它是很自然的。 我知道如何将预先下载的NCCL2库复制到docker容器中,但我从来没有尝试过/testing在两个在不同主机上设置的docker容器之间是否有GPUDirect RDMA传输。 而且我也找不到任何有人试图用NCCL2实现这种Dockerfile进行分布式深度学习的资源。 有没有人尝试使用NCCL2来分发深层次的Docker容器?

如何从docker-compose.yml指定nvidia运行时?

我能够从命令行w /下面的命令运行tensorflow容器瓦特/访问GPU $ sudo docker run –runtime=nvidia –rm gcr.io/tensorflow/tensorflow:latest-gpu 我想能够从docker-compose运行这个容器。 是否有可能从docker-compose.yml指定–runtime标志?

为什么docker集装箱可以看到主机上的所有GPU设备?

主机操作系统版本:CentOS 7.3 Docker版本:1.12.6 CUDA版本8.0.61 主机上有4个GPU。 以下是详细信息: "Devices": [ { "PathOnHost": "/dev/nvidiactl", "PathInContainer": "/dev/nvidiactl", "CgroupPermissions": "mrw" }, { "PathOnHost": "/dev/nvidia-uvm", "PathInContainer": "/dev/nvidia-uvm", "CgroupPermissions": "mrw" }, { "PathOnHost": "/dev/nvidia2", "PathInContainer": "/dev/nvidia0", "CgroupPermissions": "mrw" }, { "PathOnHost": "/dev/fuse", "PathInContainer": "/dev/fuse", "CgroupPermissions": "mrw" } ], 看下面的Nvidia设备列表: root@de-18–dev-105631-3244950001-48pjz:/sys/fs/cgroup/devices# ls /dev | grep nv nvidia-uvm nvidia-uvm-tools nvidia0 nvidia1 nvidia2 nvidia3 nvidiactl […]

如何与Nvidia Docker一起使用Nomad?

有没有办法使用nvidia-docker和Nomad ? Nvidia上的计算程序在本地工作,但不能与nvidia-docker (它使用CPU而不是GPU)一起工作。 什么是这样做的首选方法? 为Nomad使用nvidia-docker驱动程序 使用原始的docker exec来运行nvidia-docker 以某种方式将Nomad连接到nvidia-docker引擎 有没有人有这方面的经验?

在python tensorflow工作簿执行后取消分配内存

为了限制内存使用量,我阅读了如何防止张量分配整个GPU内存? 并试过这段代码: # Assume that you have 12GB of GPU memory and want to allocate ~4GB: gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333) sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) 这些命令确实释放了内存,但是在代码完成之后内存不会被解除分配。 此问题描述: https : //github.com/tensorflow/tensorflow/issues/3701build议的修复程序是更新驱动程序“将GPU驱动程序从352.79升级到367.35(最新的)之后,问题消失。 “不幸的是,我不能更新到最新版本的驱动程序。 这个问题是否已经解决。 我还考虑将可用内存限制在docker容器中。 阅读https://devblogs.nvidia.com/parallelforall/nvidia-docker-gpu-server-application-deployment-made-easy/ states“容器可以被限制在一个系统上有限的一组资源上(例如一个CPU内核和1GB的内存)“,但内核目前不支持这个,在这里我尝试添加1GB的内存到新的docker实例: nvidia-docker run -m 1024m -d -it -p 8889:8889 -v /users/user1234/jupyter:/notebooks –name tensorflow-gpu-1GB tensorflow/tensorflow:latest-cpu 但是这不会显示为接收警告:警告:您的内核不支持交换限制function,内存有限,无需交换。 tensorflow python工作簿完成后有没有命令来释放内存? Update 杀死/重新启动笔记本电脑后,内存将被分配。 但是如何在笔记本内完成后才能释放内存。