optimizing COLL_UNROLL for MI100 machines (#863)
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
0a01dc2f19
Коммит
e7f27c66e0
@@ -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
|
||||
|
||||
Ссылка в новой задаче
Block a user