具有多个GPU的一个实例或具有一个GPU的多个实例

时间:2020-10-23 06:41:51

标签: tensorflow machine-learning google-cloud-platform pytorch gpu

例如,我正在使用GPU运行多个模型,并且所有组合的作业都可以在4个GPU上运行。由于GPU内存可以处理多个作业,因此可以在同一个GPU上运行多个作业。

将所有4个GPU作为其一部分启动一个强大的实例,并在一个实例上运行所有作业,这是一个更好的主意吗?还是我应该选择一个实例,每个实例带有多个GPU?

我在考虑一些因素:

  • 读取文件的延迟。一台机器上有一个本地磁盘应该可以更快地延迟,但是从一个来源读取很多磁盘。这会引起任何问题吗?
  • 显然,我需要大量的vCPU和大量的内存来扩展IOPS,因为GPC以这种方式扩展IOPS。解决此问题的最佳方法是什么?如果有人对此有更多了解,不胜感激指针。
  • 如果将来需要降级以节省成本/降级性能,我可以简单地停止实例并更改规格。
  • 在一台机器上拥有所有内容将更容易使用。我知道在生产中我希望有一种更分布式的方法,但这严格地是实验。

这些是我的主要想法。我想念什么吗?感谢您的所有帮助。

2 个答案:

答案 0 :(得分:0)

如果您要在同一GPU上运行多个任务,建议您在这里看看。

基本上,当在同一个GPU上使用多个任务(不同的进程或容器)时,由于上下文切换的某种方式,效率将不高。 您将需要最新的nvidia硬件进行测试。

答案 1 :(得分:0)

最终使用一台具有多个GPU的计算机。只需将作业分配到不同的GPU即可使内存正常工作。