我有一个深度学习工作站,其中有4个GPU,每个GPU有6 GB的内存。是否有可能将4个GPU视为一个24 GB的docker容器?
谢谢。
发布于 2020-02-10 10:44:08
我以前没有使用过docker,但经常使用多个GPU的CUDA。由于多个GPU在物理上是分开的,因此使用多个GPU需要在代码级别进行大量的内存同步。
我不认为docker可以虚拟地合并所有的GPU内存,因为这将使GPU端的计算非常复杂。使用多个GPU需要自定义内核相互同步。
最好的类比是,“您能让两台裸机合并RAM并运行Microsoft Word,就像它是一台机器一样吗?”
发布于 2020-02-10 10:59:02
简短的回答是:不。
备选答案:是的,但需要额外的硬件,价格昂贵,可能与现有硬件不兼容。
解释:
如果您的GPU是使用NVIDIA NVLink连接的,这是可能的(请在https://www.nvidia.com/en-us/design-visualization/nvlink-bridges/查看详细信息)。
通常NVLink用于成对的GPU0,如与GPU1连接的GPU0和与GPU3连接的GPU2,在这种情况下,您可以获得的最佳选择是2个GPU0,每个GPU0具有双倍的内存。
另一种选择是特殊的InfiniBand模块,由一些供应商安装到现代图形处理器服务器上。
https://stackoverflow.com/questions/60143380
复制相似问题