首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >丹索尔·弗洛。如何在GPU之间分配操作系统

丹索尔·弗洛。如何在GPU之间分配操作系统
EN

Stack Overflow用户
提问于 2017-12-15 15:44:20
回答 2查看 272关注 0票数 2

我正在运行一个非常大的Tensorflow模型的谷歌云ml引擎。当使用缩放层basic_gpu (使用batch_size=1)时,我会得到以下错误:

资源枯竭:分配张量时使用shape1,155,240,240,16

因为模型太大,不适合一个GPU。

使用提供4个GPU的层comple_model_m_gpu,我可以在4个GPU之间扩展操作。

然而,我记得我读到GPU之间的通信是缓慢的,并且会在训练中造成瓶颈。这是真的吗?

如果是这样的话,是否有一种在GPU之间传播操作以防止此问题的推荐方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-15 15:55:56

我推荐以下指南:

GPU的优化

从指南中:

处理变量更新的最佳方法取决于模型、硬件,甚至硬件配置方式。

根据指南提出的几点建议:

  • 尝试使用P100s,它有16 GB的内存(而在K80s上只有12 )。它们的速度也要快得多,尽管它们的成本也更高。
  • 将变量放在CPU上:tf.train.replica_device_setter(worker_device=worker, ps_device='/cpu:0', ps_tasks=1)
票数 3
EN

Stack Overflow用户

发布于 2017-12-15 20:12:05

使用Tesla P100 GPU而不是Tesla K80 GPU解决了这个问题,因为P100s有一个叫做页面迁移引擎的东西。

页面迁移引擎使开发人员可以更多地关注计算性能的调优,而不是管理数据移动。应用程序现在可以从GPU的物理内存大小扩展到几乎无限的内存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47835625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档