Measuring Communication Amount
Closed this issue ยท 3 comments
Hi, thanks for the great work! I'm wondering how is the communication amount in Table 2 of the paper is calculated. Are those calculations available in the evaluation script?
In this PatchParallelismCommManager
, we print the buffer size on each device (self.numel
). You can enable the profiling with verbose=True
when initializing the distri_config
.
For AllGather, when using ring AllGather, the communication amount is
For AllReduce, when using ring AllReduce, the communication amount is s
for now. You can easily calculate it by summing up all the AllReduced tensor's numel
in attention.py
, conv.py
, feed_forward.py
and resnet.py
.
You can refer to our efficientml.ai slides (page 50) for these communication primitives.