一个实例有多个 GPU 或多个实例有一个 GPU
Posted
技术标签:
【中文标题】一个实例有多个 GPU 或多个实例有一个 GPU【英文标题】:One instance with multple GPUs or multiple instances with one GPU 【发布时间】:2021-02-06 05:31:24 【问题描述】:例如,我正在使用 GPU 运行多个模型,并且所有组合的作业都可以在 4 个 GPU 上运行。多个作业可以在同一个 GPU 上运行,因为 GPU 内存可以处理它。
启动一个包含所有 4 个 GPU 的强大实例并在一个实例上运行所有作业是否更好?还是我应该采用多个实例,每个实例有 1 个 GPU?
我在考虑几个因素:
读取文件的延迟。在一台机器上拥有一个本地磁盘在延迟方面应该更快,但这将是从一个来源读取相当多的数据。这会导致任何问题吗? 显然,我需要相当多的 vCPU 和大量内存来扩展 IOPS,因为 GPC 以这种方式扩展 IOPS。解决这个问题的最佳方法是什么?如果有人对此有更多了解,将不胜感激。 如果将来我需要降级以节省成本/降级性能,我可以简单地停止实例并更改我的规格。 将所有东西都放在一台机器上会更容易使用。我知道在生产中我想要一种更加分散的方法,但这只是实验。这些是我的主要想法。我错过了什么吗?感谢大家的帮助。
【问题讨论】:
您在使用 GCP 吗?哪个产品? @R.Esteves 没错,使用 GCP。我正在使用计算虚拟机,测试不同的永久性磁盘,例如 SSD,甚至本地 SSD 及其提供的 GPU。 【参考方案1】:最终选择了一台具有多个 GPU 的机器。只需将作业分配给不同的 GPU 以使内存正常工作。
【讨论】:
【参考方案2】:如果你想在同一个GPU上运行多个任务,我建议你看看这里。
基本上,当在同一个 GPU 上使用多个任务(不同的进程或容器)时,由于某种上下文切换,它不会高效。 您需要最新的 nvidia 硬件来测试它。
【讨论】:
以上是关于一个实例有多个 GPU 或多个实例有一个 GPU的主要内容,如果未能解决你的问题,请参考以下文章