详细内容或原文请订阅后点击阅览
Numa意识在高性能深度学习中的关键作用
Pytorch模型性能分析和优化 - 第10部分NUMA意识在高性能深度学习中的关键作用首先出现在数据科学方面。
来源:走向数据科学深度学习培训的世界,可以将ML开发人员的作用比作管弦乐队的指挥。就像导体必须计时每种乐器的进入以产生完美的和谐一样,ML从业者也必须协调多种硬件组件(CPU和GPU),包括其相关内存,高速存储,网络控制器,各种通信总线等,以无缝地工作以最大程度地发挥运行时性能。正如单一的不符合音符可能会破坏整个音乐作品一样,这些组件中的任何一个都可以严重阻碍整体训练过程。
在这个复杂的景观中,至关重要的是,您对系统的基本拓扑有深入的了解,并且您知道如何将其应用于最佳运行时性能。在上一篇文章中,我们探讨了拓扑意识在分布式培训环境中的关键作用,并讨论了拓扑意识到的梯度共享算法在最小化跨节点通信和增强性能方面的优势。
上一篇文章在这篇文章中,我们关于Pytorch模型分析和优化系列的第十个,我们在训练和运行AI/ML模型中缩小了CPU和GPU之间的协作。在典型的培训管道中,CPU负责准备和预处理数据,加载GPU内核以及处理输出,而GPU负责模型执行。这种合作不仅是一种交接,而且是一种不断的,高速的数据和命令交换,可以比喻为复杂的舞蹈 - 精确的时机和物理接近至关重要。为了使这种舞蹈表现出最佳性,必须以介绍基础系统拓扑的方式编排。特别是,它必须考虑到系统的非均匀内存访问(NUMA)体系结构。
非均匀内存访问(NUMA)