Tag: nvidia

使用Docker编译源码的Tensorflow以加快CPU速度

我正在寻找一种方法来设置或修改一个现有的Docker镜像来安装tensorflow,它将安装它,以便SSE4,AVX,AVX2和FMA指令可以用于CPU加速。 到目前为止,我已经find了如何使用bazel从源代码安装如何编译Tensorflow …和CPU指令未编译…。 这些都不解释如何在Docker中做到这一点。 所以我想我正在寻找什么,你需要添加到一个现有的泊坞窗图像,没有这些选项安装,以便您可以得到一个启用CPU选项tensorflow的编译版本。 现有的docker图像不这样做,因为他们希望图像在尽可能多的机器上运行。 我在Linux PC上使用Ubuntu 14.04。 我是新来的docker工人,但已经安装了tensorflow,并没有得到我使用泊坞窗图像时得到的CPU警告。 我可能不需要这个速度,但是我已经看到那些声称加速可能很重要的post。 我search现有的docker图像这样做,找不到任何东西。 我需要这个与GPU工作,所以需要与NVIDIA的docker兼容。 我刚刚发现这个docker支持bazel ,它可能会提供一个答案,但我不明白,以及足够的知道。 我相信这就是说你不能在Dockerfile中使用bazel来构buildtensorflow。 你必须用bazelbuild立一个Dockerfile。 我的理解是正确的,这是唯一的方式来获得源码编译码stream图像与张量stream? 如果是这样的话,我仍然可以使用帮助来做到这一点,如果使用现有的docker图像进行tensorflow,仍然可以获得其他的依赖关系。

在成功安装GPU Caffe后,将Caffe作为CPU运行

我有一个用cudnn支持编译的Caffe的Docker镜像。 CUDA和所有其他依赖项在映像中正确安装,使用nvidia-docker从主机提供驱动程序时,它可以正常工作。 我想在不使用nvidia-docker 情况下运行相同的映像,只需将Caffe设置为CPU模式即可。 但是,当我这样做,我仍然看到错误,正确的Nvidia驱动程序无法find。 就像用cudnn支持来构buildCaffe导致Caffe 需要 GPU驱动程序一样。 这对于我的用例来说是有问题的:提供一个单独的Docker镜像,它可以交替使用,既可以是基于CPU的镜像,也可以是基于GPU的镜像。 我如何在启用cudnn / GPU支持的情况下安装Caffe,但是仍然运行它,而不依赖于任何CUDA / GPU依赖关系? 注意:这不是在Caffe构build时使用CPU_ONLY标志禁止GPU支持的问题。 相反,它需要将Caffe构build成能够使用GPU,然后以一种不需要任何驱动程序,CUDA库等的方式,在仅CPU 运行模式下运行它 。 我在运行时看到的错误types如下: I0523 21:09:42.175459 14 layer_factory.hpp:77] Creating layer conv1 I0523 21:09:42.175561 14 net.cpp:84] Creating Layer conv1 I0523 21:09:42.175606 14 net.cpp:406] conv1 <- data I0523 21:09:42.175660 14 net.cpp:380] conv1 -> conv1 F0523 21:09:42.177079 14 cudnn_conv_layer.cpp:52] Check failed: error == […]

通过docker图像nvcr.io/nvidia/torch训练例程慢了41%

我通过NVidia docker image nvcr.io/nvidia/torch训练DNN。 除了在我的机器上执行的训练时间要慢得多(+ 41%)之外,一切正常。 一个批处理执行需要大约410ms,而不是裸机上的290ms。 我的nvidia-docker运行命令: nvidia-docker run -it –network=host –ipc=host -v /mnt/data1:/mnt/data1 my-custom-image bash 我的自定义图像基于nvcr.io/nvidia/torch。 我只添加我的培训脚本(.lua)并安装luajit。 所有结果都写在/ mnt / data1中,而不是在容器内。 这是正常的还是我做错了什么? 我怎样才能调查浪费的时间来自哪里? 更新:我加倍检查,在培训期间没有任何东西写在容器内。 所有数据都写在/ mnt / data1上。 Update2:我尝试了容器内的推理例程,它不需要比裸机安装更多的时间。

libGL错误:未能在docker容器中加载驱动程序swrast

我有一个docker容器,我试图运行一个pyqt应用程序。 一切运作良好,除了一大块的graphics用户界面无法呈现。 docker日志扔出来了: libGL error: failed to load driver: swrast X Error: GLXBadContext 169 Extension: 154 (Uknown extension) Minor opcode: 6 (Unknown request) Resource id: 0x6400003 X Error: BadValue (integer parameter out of range for operation) 2 Extension: 154 (Uknown extension) Minor opcode: 3 (Unknown request) Resource id: 0x0 … QGLContext::makeCurrent(): Failed. 在我的Dockerfile中,我尝试安装几乎所有可能与之相关的软件包,包括mesa-utils 。 在docker-compose文件方面,看起来像这样: […]

如何检查nvidia-docker版本?

我已经尝试过nvidia-docker –version ,但似乎只是显示了docker的版本。 经过对官方文件的调查,我找不到任何有关这方面的信息。 如何检查nvidia-docker的版本?

nvidia-docker中的TensorFlow:调用cuInit失败:CUDA_ERROR_UNKNOWN

我一直在努力获得一个依赖于TensorFlow的应用程序来作为一个docker容器与nvidia-docker 。 我已经在tensorflow/tensorflow:latest-gpu-py3之上编译了我的应用程序tensorflow/tensorflow:latest-gpu-py3 image。 我用以下命令运行我的docker容器: sudo nvidia-docker run -d -p 9090:9090 -v /src/weights:/weights myname/myrepo:mylabel 当通过portainer查看日志时,我看到以下内容: 2017-05-16 03:41:47.715682: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations. 2017-05-16 03:41:47.715896: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but […]

用多个用户pipe理多个GPU

我有一个服务器(Ubuntu 16.04)与4个GPU。 我的团队分享这个,我们目前的方法是容纳我们所有与Docker的工作,并使用$ NV_GPU=0 nvidia-docker run -ti nvidia/cuda nvidia-smi来限制容器到GPU。 当我们非常清楚谁在使用哪个GPU时,这个效果很好,但是我们的团队已经发展壮大了,我想要一个更强大的监控GPU使用的方法,并禁止在GPU使用时访问GPU。 nvidia-smi是“GPU-Util”的一个信息通道,但是有时GPU在某个时刻可能有0%的GPU-Util,而当前它是由在容器中工作的人保留的。 你有什么build议: 当用户运行$ NV_GPU='gpu_id' nvidia-docker run时跟踪 当另一个用户运行$ NV_GPU='same_gpu_id' nvidia-docker run时发生错误 保持一个更新的日志,这是沿着{'gpu0':'user_name或free',。 。 。'gpu3':'user_name or free'},其中每个gpu标识使用该gpu运行活动docker容器的用户,或者说它是'free'。 实际上,说明用户和连接到GPU的容器将是可取的。 当用户closures正在使用gpu的容器时更新日志 我可能也在想这个错误的方式,所以对其他想法敞开心扉。 谢谢!

docker集装箱中为什么会有太多的gpus?

我的主机上有4个GPU [root@c3-sa-i2-20151229-buf023 ~]# nvidia-smi Wed Jul 12 14:27:40 2017 +—————————————————————————–+ | NVIDIA-SMI 375.26 Driver Version: 375.26 | |——————————-+———————-+———————-+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla K40m Off | 0000:02:00.0 Off | 0 | | N/A 23C […]

与Docker容器共享现有的主机目录?

Docker允许使用-v选项在其他容器之间共享一个目录。 但它会遮挡主机上的任何现有目录。 如何使主机目录对docker实例可见? 例如,这会在/opt创build一个安装点: nvidia-docker run -i -t –name x nvidia/cuda:7.5-runtime-ubuntu14.04 -v /opt 但它会遮挡主机/ opt。 这是安全的,通常需要的行为。 但是对于开发和实例设置来说,访问现有的文件结构将是非常有用的。

在Windows 10上访问Docker上的GPU

我注意到nvidia已经支持GPU和Docker,但是我相信这只是针对linux。 有没有人得到它在Windows 10上工作? 特别是,我希望能够访问机器学习应用程序。 https://github.com/NVIDIA/nvidia-docker