MCPcopy Create free account
hub / github.com/deepspeedai/DeepSpeed / all_reduce_outer_loop

Function all_reduce_outer_loop

csrc/cpu/comm/shm.cpp:664–675  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

662}
663
664void all_reduce_outer_loop(torch::Tensor& data, size_t numel, int data_size)
665{
666 for (int offset = 0; offset < data_size; offset += MAX_BUF_SIZE) {
667 auto data_ptr = ((char*)(data.data_ptr()) + offset);
668 size_t chunk_size = data_size - offset > MAX_BUF_SIZE ? MAX_BUF_SIZE : data_size - offset;
669 size_t chunk_el = chunk_size / (data_size / numel);
670 if (chunk_size < NAIVE_ALLREDUCE_THRESHOLD)
671 symmetric_naive_all_reduce(data_ptr, data.scalar_type(), chunk_size, chunk_el);
672 else
673 distributed_naive_reduce(data_ptr, data.scalar_type(), chunk_size, chunk_el);
674 }
675}

Callers 2

inference_all_reduceFunction · 0.85
inference_all_reduce_Function · 0.85

Calls 3

distributed_naive_reduceFunction · 0.85
data_ptrMethod · 0.45

Tested by

no test coverage detected