microsoft / msccl-tools

Synthesizer for optimal collective communication algorithms
MIT License
98 stars 25 forks source link

Add printing available plans #24

Closed olsaarik closed 2 years ago

olsaarik commented 2 years ago

This implements issue #23 . The printing is available through sccl.print_plans() or in the CLI with sccl plans list. Both print out a GitHub-compatible markdown table like this:

Machine Collective # machines From To Protocol Priority Plan name
ndv2 alltoall >=2 1 MB infinity Simple 0 call synthesize_ndv2_relay_alltoall
ndv4 allreduce 1 256 KB 20 MB LL128 0 run ndv4_ring_allreduce
ndv4 alltoall 8,16,32 1 MB 32 MB LL128 0 run ndv4_alltoall
ndv4 alltoall 64 1 MB 32 MB LL128 0 run ndv4_alltoall
ndv4 alltoall 8,16,32 32 MB infinity Simple 0 run ndv4_alltoall
ndv4 alltoall 64 32 MB infinity Simple 0 run ndv4_alltoall