草庐IT

GPU算力

全部标签

memory - GPU PoolAllocator 爆 CPU 内存

我用相对常见的操作(除了几个tf.where和索引处理)创建了一个tensorflow模型,但是用非常不同的不同输入形状调用它(模型中有许多未定义的张量形状)。在CPU上一切正常。但是当您使用GPU时,RAM使用量(不是GPU内存,CPU内存)稳步增加,以填满机器的256GB并自行终止。在此过程中,我收到了通常的消息:2017-03-1716:42:22.366601:Itensorflow/core/common_runtime/gpu/pool_allocator.cc:247]PoolAllocator:After18347getrequests,put_count=18345e

optimization - 减少 CPU 到 GPU 数据传输延迟的技术

我一直在寻找减少CPU和GPU来回传输数据所导致的延迟的方法。当我第一次开始使用CUDA时,我确实注意到CPU和GPU之间的数据传输确实需要几秒钟,但我并不在意,因为这对于我正在编写的小程序来说并不是真正的问题。事实上,对于绝大多数使用GPU的程序(包括视频游戏)来说,延迟可能不是什么大问题,因为它们仍然比在CPU上运行要快得多。但是,我是一个HPC爱好者,当我看到Tianhe-I的理论峰值FLOPS与实际LINPACK测量的性能之间存在巨大差异时,我开始关注我的研究方向。这引起了我对自己是否走在正确的职业道路上的担忧。通过使用cudaHostAlloc()函数使用固定内存(页面锁定)

memory - Keras 在调用 train_on_batch、fit 等时使用过多的 GPU 内存

我一直在搞Keras,到目前为止我喜欢它。在处理相当深的网络时,我遇到了一个大问题:在调用model.train_on_batch或model.fit等时,Keras分配的GPU内存明显多于模型本身所需的内存。这不是因为尝试在一些非常大的图像上训练造成的,而是网络模型本身似乎需要大量GPU内存。我创建了这个玩具示例来说明我的意思。这基本上是发生了什么:我首先创建了一个相当深的网络,并使用model.summary()获取网络所需的参数总数(在本例中为206538153,相当于大约826MB)。然后我使用nvidia-smi来查看Keras分配了多少GPU内存,我可以看到它非常有意义(8

javascript - 获取 CPU/GPU/内存信息

我需要获取有关CPU/GPU/内存的任何信息。核心数、内存值、内存和cpu使用情况...我为IE找到了一种方法:HowtoUseJavaScripttoFindHardwareInformation其他浏览器的解决方案我不知道。知道怎么做吗?也许webgl可以访问有关您计算机的信息?或闪光?或任何其他技术?非常感谢 最佳答案 此代码将打印GPU信息,并将列出您可以使用此浏览器的性能对象获得的所有信息(BOM没有标准,因此每个浏览器都会更改)。varperformance=window.performance||window.mozP

c++ - 为什么 Opencv GPU 代码比 CPU 慢?

我在笔记本上使用opencv242+VS2010。我试图在OpenCV中对GPUblock进行一些简单的测试,但它显示GPU比CPU代码慢100倍。在这段代码中,我只是将彩色图像转为灰度图像,使用cvtColor的功能这是我的代码,PART1是CPU代码(测试cpuRGB2GRAY),PART2是上传图像到GPU,PART3是GPURGB2GRAY,PART4是CPURGB2GRAY。有三件事让我很想知道:1在我的代码中,part1是0.3ms,而part4(和part1完全一样)是40ms!!!2上传图片到GPU的part2是6000ms!!!3Part3(GPU代码)是11ms,对

docker - 可以在没有 GPU 的情况下运行 nvidia-docker 吗?

官方PyTorchDockerimage基于nvidia/cuda,它能够在DockerCE上运行,无需任何GPU。它也可以在nvidia-docker上运行,我假设启用了CUDA支持。是否可以在没有任何GPU的x86CPU上运行nvidia-docker本身?有没有办法构建单个Docker镜像,在可用时利用CUDA支持(例如,在nvidia-docker中运行时)并在其他情况下使用CPU?在DockerCE中使用torch.cuda会发生什么?DockerCE到底有什么区别,为什么nvidia-docker不能合并到DockerCE中? 最佳答案

docker - 在 Windows 10 上访问 Docker 上的 GPU

我注意到nvidia支持GPU和Docker,但我相信目前这仅适用于linux。有人在Windows10上运行它吗?特别是,我希望能够访问它以用于机器学习应用程序。https://github.com/NVIDIA/nvidia-docker 最佳答案 由于Docker使用Virtualbox在Windows上工作,VirtualboxwillnotexposeCUDAtotheguestwithoutPCIpassthrough,我认为不可能像您想的那样做到这一点。 关于docker-

python - 阻止 TensorFlow 访问 GPU?

这个问题在这里已经有了答案:CanKeraswithTensorflowbackendbeforcedtouseCPUorGPUatwill?(8个回答)关闭5年前。有没有办法完全在CPU上运行TensorFlow。我机器上的所有内存都被一个运行TensorFlow的单独进程占用。我尝试将per_process_memory_fraction设置为0,但未成功。 最佳答案 看看这个question或者这个answer.总结一下,你可以添加这段代码:importosos.environ["CUDA_VISIBLE_DEVICES"]=

python - 我需要什么 K.clear_session() 和 del 模型(Keras with Tensorflow-gpu)?

我在做什么我正在训练并使用卷积神经元网络(CNN)进行图像分类,使用Keras和Tensorflow-gpu作为后端。我正在使用什么-PyCharm社区2018.1.2-Python2.7和3.5(但不能同时使用)-Ubuntu16.04-Keras2.2.0-Tensorflow-GPU1.8.0作为后端我想知道的在许多代码中,我看到人们使用fromkerasimportbackendasK#Dosomecode,e.g.trainandsavemodelK.clear_session()或使用后删除模型:delmodel关于clear_session的keras文档说:“销毁当前的

python - 更改 TensorFlow 中的默认 GPU

根据文档,默认GPU是id最低的:IfyouhavemorethanoneGPUinyoursystem,theGPUwiththelowestIDwillbeselectedbydefault.是否可以通过命令行或一行代码更改此默认设置? 最佳答案 Suever'sanswer正确显示了如何将您的操作固定到特定的GPU。但是,如果您在同一台机器上运行多个TensorFlow程序,建议您设置CUDA_VISIBLE_DEVICES环境变量以在启动进程之前公开不同的GPU。否则,TensorFlow将尝试在所有可用的GPU上分配几乎全