MSCCL: Improve executor and integrate scheduler (#694)

* MSCCL: improve executor and add scheduler for testing

* Use external scheduler

* Fix cmake error

* Address comments

* Fix thread safe issue

* Make MSCCL lifecycle APIs thread safe

* Make MSCCL internal scheduler aware of topology hint

* Revise error message

[ROCm/rccl commit: e3b2342f39]
This commit is contained in:
Ziyue Yang
2023-03-15 05:34:25 +08:00
committed by GitHub
parent 8fdc4795fd
commit f7f669e7f0
25 changed files with 36884 additions and 231 deletions
@@ -1,6 +1,6 @@
<!-- Copyright (c) Microsoft Corporation. -->
<!-- Licensed under the MIT License. -->
<algo name="allreduce_ring_mi200" proto="Simple" nchannels="24" nchunksperloop="384" ngpus="16" coll="allreduce" inplace="1" outofplace="1" maxcount="1" nthreadblocks="24" minBytes="0" maxBytes="0">
<algo name="allreduce_ring_mi200" proto="Simple" nchannels="24" nchunksperloop="384" ngpus="16" coll="allreduce" inplace="1" outofplace="1" maxcount="1" nthreadblocks="24" minBytes="393216" maxBytes="0">
<gpu id="0" i_chunks="384" o_chunks="384" s_chunks="0">
<tb id="0" send="1" recv="4" chan="2">
<step s="0" type="s" srcbuf="i" srcoff="32" dstbuf="o" dstoff="32" cnt="1" depid="-1" deps="-1" hasdep="0"/>