【问题标题】:Is possible multiples GPUs work as one with more memory?多个 GPU 是否可以作为一个具有更多内存的 GPU 工作?
【发布时间】:2020-02-10 02:31:17
【问题描述】:

我有一个深度学习工作站,其中有 4 个 GPU,每个具有 6 GB 内存。是否可以让 docker 容器将 4 个 GPU 视为一个但 24 GB?

谢谢。

【问题讨论】:

    标签: docker tensorflow nvidia-docker bert-language-model


    【解决方案1】:

    我以前没有使用过 docker,但经常使用带有多个 GPU 的 CUDA。由于多个 GPU 在物理上是分开的,因此使用多个 GPU 需要在代码级别进行大量内存同步。

    我不认为 docker 可以虚拟地合并所有 GPU 内存,因为这会使 GPU 端的计算变得非常复杂。使用多个 GPU 需要自定义内核才能相互同步。

    我提到的最好的类比是,“你能不能让两台裸机计算机合并 RAM 并像一台机器一样运行 Microsoft Word?”。

    【讨论】:

      【解决方案2】:

      简短回答:不。

      替代答案:可以,但需要额外的硬件,价格昂贵,并且可能与您现有的硬件不兼容。

      解释:

      如果您的 GPU 使用 NVIDIA NVLink 连接是可能的(请在此处查看详细信息 https://www.nvidia.com/en-us/design-visualization/nvlink-bridges/)。

      通常NVLink 用于成对的 GPU,例如 GPU0 与 GPU1 连接,GPU2 与 GPU3 连接,在这种情况下,您可以获得的最佳选择是 2 个每个具有双倍内存的 GPU。

      另一个选项是特殊的InfiniBand 模块,由一些供应商安装到现代 GPU 服务器上。

      【讨论】:

        猜你喜欢
        • 2020-04-27
        • 2011-05-19
        • 2021-02-06
        • 2020-07-20
        • 2016-04-18
        • 2019-10-23
        • 2020-07-31
        • 1970-01-01
        • 2017-12-25
        相关资源
        最近更新 更多