为何一座国产超算中心打不过8张nvidia A100计算卡? (一)
近日有消息称在gpt大模型训练中,无锡超算中心的模型训练速度败给了8张a100计算卡,无锡超算中心算力125P,8张A100算力160T,因此无锡超算中心的计算效率不足a100的千分之一,下面刨析下无锡超算中心算力破产的原因。
一个17B权值规模的大模型,如果按照GPU内存16字节粒度计算,仅需要300G内存,在目前超算中心单节点数T内存的时代这并不算大,也正因如此,大模型是一个细粒度任务密集的计算,而国产超算中心,由于单个节点的计算性能差,因此只能过度依赖基于IB的分布式结构来堆计算核心数目提高峰值计算性能,这使得超算中心在细粒度的计算任务上效率上无法与a100抗衡。
被轻视的nvlink,nvlink连接多个GPU的内存控制器甚至与L2直连,这使得8张a100就可以满足17B的大模型内存需要,和ib不同,nvlink不需要操作系统和应用参与io调度,因此基于GPU的细粒度任务调度中,在nvlink上可以达到40GT/s的任务调度性能,而在传统操作系统中,基于分布式IO调度的细粒度任务调度性能仅10万左右,差5个数量级左右。
被神话的IB网络,由于A100计算卡也使用IB网络,因此有人认为IB是提升效率的利器,事实上并非如此,IB不光在A100计算卡使用,实际上在超算中心早已普及多年,而IB网络实际上是超算中心效率底下的元凶之一,传统认知中IB利用RDMA技术绕过了操作系统的低效IO调度,但实际上他只是减少了一次IO调度,他任然需要计算任务调度应用做IO调度,因此在实际性能表现中,他的IOPS性能仅比操作系统内核调度的IOPS高1倍,达到20万iops,实际上在细粒度任务场景中,这仅仅相当于一块200M的网卡,其200G的带宽优势反而是劣势,相比200M的eth网卡,他的带宽利用效率仅千分之一,这需要更高的能耗,和理论上差1000倍的延迟,对于nvlink,差5个数量级的情况并没有得到本质的改变。
因此唯一的解决方案是使用异数OS提高细粒度任务io性能2到4个数量级。
未完待续
近日有消息称在gpt大模型训练中,无锡超算中心的模型训练速度败给了8张a100计算卡,无锡超算中心算力125P,8张A100算力160T,因此无锡超算中心的计算效率不足a100的千分之一,下面刨析下无锡超算中心算力破产的原因。
一个17B权值规模的大模型,如果按照GPU内存16字节粒度计算,仅需要300G内存,在目前超算中心单节点数T内存的时代这并不算大,也正因如此,大模型是一个细粒度任务密集的计算,而国产超算中心,由于单个节点的计算性能差,因此只能过度依赖基于IB的分布式结构来堆计算核心数目提高峰值计算性能,这使得超算中心在细粒度的计算任务上效率上无法与a100抗衡。
被轻视的nvlink,nvlink连接多个GPU的内存控制器甚至与L2直连,这使得8张a100就可以满足17B的大模型内存需要,和ib不同,nvlink不需要操作系统和应用参与io调度,因此基于GPU的细粒度任务调度中,在nvlink上可以达到40GT/s的任务调度性能,而在传统操作系统中,基于分布式IO调度的细粒度任务调度性能仅10万左右,差5个数量级左右。
被神话的IB网络,由于A100计算卡也使用IB网络,因此有人认为IB是提升效率的利器,事实上并非如此,IB不光在A100计算卡使用,实际上在超算中心早已普及多年,而IB网络实际上是超算中心效率底下的元凶之一,传统认知中IB利用RDMA技术绕过了操作系统的低效IO调度,但实际上他只是减少了一次IO调度,他任然需要计算任务调度应用做IO调度,因此在实际性能表现中,他的IOPS性能仅比操作系统内核调度的IOPS高1倍,达到20万iops,实际上在细粒度任务场景中,这仅仅相当于一块200M的网卡,其200G的带宽优势反而是劣势,相比200M的eth网卡,他的带宽利用效率仅千分之一,这需要更高的能耗,和理论上差1000倍的延迟,对于nvlink,差5个数量级的情况并没有得到本质的改变。
因此唯一的解决方案是使用异数OS提高细粒度任务io性能2到4个数量级。
未完待续