optimizing COLL_UNROLL for MI100 machines (#863)

[ROCm/rccl commit: e7f27c66e0]
This commit is contained in:
Pedram Alizadeh
2023-08-29 12:49:06 -04:00
کامیت شده توسط GitHub
والد bcb8075e38
کامیت b4f96a23e6
2فایلهای تغییر یافته به همراه8 افزوده شده و 0 حذف شده
@@ -11,7 +11,11 @@
#include "collectives.h"
#include "devcomm.h"
#if defined(__gfx908__)
#define COLL_UNROLL 2
#else
#define COLL_UNROLL 4
#endif
#define NCCL_MAX_DEV_ARITY (NCCL_MAX_TREE_ARITY-1) // Using balanced tree instead of split tree
@@ -204,6 +204,8 @@ struct RunWork<ncclFuncSendRecv, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {
} else {
#if defined(__gfx90a__)
runRecv<ProtoSimple<1,1,8>>(tid, nthreads, group, args);
#elif defined(__gfx908__)
runRecv<ProtoSimple<1,1,4>>(tid, nthreads, group, args);
#else
runRecv<ProtoSimple<1,1>>(tid, nthreads, group, args);
#endif
@@ -214,6 +216,8 @@ struct RunWork<ncclFuncSendRecv, T, RedOp, NCCL_ALGO_RING, NCCL_PROTO_SIMPLE> {
} else {
#if defined(__gfx90a__)
runSend<ProtoSimple<1,1,8>>(tid, nthreads, group, args);
#elif defined(__gfx908__)
runSend<ProtoSimple<1,1,4>>(tid, nthreads, group, args);
#else
runSend<ProtoSimple<1,1>>(tid, nthreads, group, args);
#endif