关键组件 | 说明 |
实例 |
|
NCCL | NCCL(Nvidia Collective Communication Library)是NVIDIA的集合通信库,支持安装在单个节点或多个节点的大量GPU卡上,实现多个GPU的快速通信。它提供了一系列高度优化的通信原语,如allreduce(全规约)、reduce-scatter(分散规约)、allgather(全收集)等,这些原语能够帮助并行计算任务在多个GPU间高效地同步和交换数据。 注意 使用NCCL Tuner Plugin必须确保NCCL版本不低于2.19,本文以NCCL2.20.5和 2.21.5为例。 |
NCCL Tuner Plugin | 用于优化NCCL性能的插件。 |
Git | 分布式版本控制系统。本文使用Git 2.25.1版本。 |
OpenMPI | OpenMPI是一个开源的 Message Passing Interface 实现,是一种高性能消息传递库,能够结合整个高性能计算社区的专业知识、技术和资源,建立现有的最佳MPI库。OpenMPI在系统和软件供应商、应用开发者和计算机科学研究人员中有广泛应用。 |
NCCL Tests | NCCL Tests是一个测试工具集,可以用来评估NCCL的运行性能和正确性。 |
INSTANCE_TYPE | gni3cg | | |
data_size (B) | nccl 2.18.1 | nccl 2.19.3 | nccl 2.19.3 Tunner |
8 | 0 | 0 | 0 |
16 | 0 | 0 | 0 |
32 | 0 | 0 | 0 |
64 | 0.01 | 0.01 | 0.01 |
128 | 0.02 | 0.02 | 0.02 |
256 | 0.03 | 0.03 | 0.03 |
512 | 0.07 | 0.07 | 0.07 |
1024 | 0.13 | 0.12 | 0.130 |
2048 | 0.23 | 0.23 | 0.230 |
4096 | 0.43 | 0.44 | 0.440 |
8192 | 0.86 | 0.86 | 0.860 |
16384 | 1.67 | 1.67 | 1.660 |
32768 | 3.01 | 3.05 | 3.050 |
65536 | 5.62 | 5.61 | 5.650 |
131072 | 2.99 | 2.81 | 8.220 |
262144 | 4.7 | 4.55 | 8.970 |
524288 | 7.39 | 7.12 | 14.260 |
1048576 | 12.91 | 12.6 | 16.630 |
2097152 | 17.27 | 17.12 | 18.220 |
4194304 | 20.24 | 20.07 | 20.020 |
8388608 | 21.14 | 20.96 | 21.090 |
16777216 | 20.1 | 20.08 | 20.080 |
33554432 | 20.02 | 20.04 | 20.060 |
67108864 | 20.11 | 20.11 | 20.100 |
134217728 | 20.16 | 20.17 | 20.170 |
268435456 | 20.21 | 20.21 | 20.240 |
536870912 | 20.27 | 20.25 | 20.280 |
1073741824 | 20.32 | 20.31 | 20.320 |