ltaodream 发表于 2024-9-11 15:48

#没读懂#《大模型时代的基础架构》关于GPU跨节点异号卡数据交换路径

<div class='showpostmsg'><p>问题来源:第六章 GPU集群的网络设计与实现</p>

<p>&nbsp;&nbsp; &nbsp;<br />
在阅读这个章节中注意到书中所说的GPU跨节点异号卡数据交换是通过接入层经过汇聚层交换机,才会抵达另一个节点的异号卡GPU,但是之前有听说过另一种说法</p>

<h3>另一种说法:<strong>通过中间节点进行通信</strong></h3>

<p>如果节点1的GPU0需要与节点2的GPU1进行通信,数据可能首先通过Roce交换机传输到节点2的GPU0,然后由节点2的GPU0通过NVlink Switch转发到GPU1</p>

<p>不知道两种说法哪种对,希望大家来讨论一下,希望老师解答一下</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

Jacktang 发表于 2024-9-12 07:31

<p>只能说,数据直接通过 NVLink 或 InfiniBand 等高速网络传输到 节点2的GPU1。<br />
这种路径适用于节点之间有直接的NVLink或InfiniBD连接和软件优化</p>

ltaodream 发表于 2024-9-12 10:37

Jacktang 发表于 2024-9-12 07:31
只能说,数据直接通过 NVLink 或 InfiniBand 等高速网络传输到 节点2的GPU1。
这种路径适用于节点之间有直 ...

<p>模型训练是会碰到这样的情况的,而且节点之间不可能有nvlink</p>

richiefang 发表于 2024-9-22 10:49

<p>不同编号的GPU卡,跨GPU服务器节点的通信,只能通过上一层交换机(一般称为spine, 或核心层)转发,这是因为GPU卡本身是不具备GPU Direct Memory的路由功能的。GPU Direct Memory也不支持跨卡的路由,只能两张卡直通。</p>

ltaodream 发表于 2024-9-24 16:00

richiefang 发表于 2024-9-22 10:49
不同编号的GPU卡,跨GPU服务器节点的通信,只能通过上一层交换机(一般称为spine, 或核心层)转发,这是因 ...

<p>感谢大佬解答</p>

ltaodream 发表于 2024-9-24 16:23

richiefang 发表于 2024-9-22 10:49
不同编号的GPU卡,跨GPU服务器节点的通信,只能通过上一层交换机(一般称为spine, 或核心层)转发,这是因 ...

<p>既然GPU层面不支持,那是否可以在代码层面实现这种数据传输控制呢,比如使用一些gpu通信库,或者进行通信数据链路优化啥的<br />
然后老师,我还想问 现在业界是否可以做到单个node故障以后,不重启整个训练任务,而使训练任务恢复呢,我们现在是重启整个训练任务,代价太大了</p>

richiefang 发表于 2024-11-24 20:44

ltaodream 发表于 2024-9-24 16:23
既然GPU层面不支持,那是否可以在代码层面实现这种数据传输控制呢,比如使用一些gpu通信库,或者进行通信 ...

<p>GPU内部不具备数据路由功能,所以不能通过通信库实现NVLink的多跳转发</p>
页: [1]
查看完整版本: #没读懂#《大模型时代的基础架构》关于GPU跨节点异号卡数据交换路径