GPU 的 Lua 和 Torch 问题

Posted

技术标签:

【中文标题】GPU 的 Lua 和 Torch 问题【英文标题】:Lua and Torch issues with GPu 【发布时间】:2017-11-09 15:17:34 【问题描述】:

我正在尝试从 OpenNMT 运行基于 Lua 的程序。我已经按照这里的程序:http://forum.opennmt.net/t/text-summarization-on-gigaword-and-rouge-scoring/85

我已经使用了命令:

 th train.lua -data textsum-train.t7 -save_model textsum1 -gpuid 0 1 2 3 4 5 6 7

我正在使用 8 个 GPU,但进程仍然非常慢,就好像进程在 CPU 上工作一样。请让我知道优化 GPU 使用的解决方案可能是什么。 以下是 GP 使用情况的统计数据:

请告诉我如何使用完整的 GPU 使流程运行得更快。我可以使用 11GB,但该过程仅消耗 2 GB 或更少。因此这个过程非常缓慢。

【问题讨论】:

我建议你在 OpenNMT 论坛上联系 Jean 或 Guillaume,他们非常活跃,随时准备提供帮助。问题解决了吗? 是的解决了..明白了。 然后随时发布作为答案。 gpu的索引以1而不是0开头。0表示CPU。 @WiktorStribiżew 亲爱的朋友,感谢您的关心。但也快过年了。我之前正在研究它,但后来它从我的手中转到了另一个。现在我正在研究一些不同的概念。因此,我将无法向您提供有关它的更多详细信息。我很抱歉。 【参考方案1】:

根据OpenNMT documentation,您需要在gpuid 选项之后删除0,因为0 代表CPU,您可以有效地将训练速度降低到CPU 驱动的速度。

要使用数据并行性,请将 GPU 标识符列表分配给 -gpuid 选项。例如:

th train.lua -data data/demo-train.t7 -save_model demo -gpuid 1 2 4

将使用 CUDA API 返回的机器的第一个、第二个和第四个 GPU。

【讨论】:

感谢您的回答。但你可以看到我的评论。我已经评论过了。 因为我找到了证明我决定单独发布的文档。

以上是关于GPU 的 Lua 和 Torch 问题的主要内容,如果未能解决你的问题,请参考以下文章

Lua 和 Torch 安装和导入库中的问题

Lua 错误加载模块 'libpng' (Torch, MacOSX)

Torch 和 Lua 是啥关系?

将大图像时间发送到 GPU

CPU/GPU 设备之间的 Torch 分布式广播和减少

在 Windows 10 上使用 Torch 运行 Lua(管理员权限有限)