optimizing COLL_UNROLL for MI100 machines (#863)

Этот коммит содержится в:
Pedram Alizadeh
2023-08-29 12:49:06 -04:00
коммит произвёл GitHub
родитель 0a01dc2f19
Коммит e7f27c66e0
2 изменённых файлов: 8 добавлений и 0 удалений
+4
Просмотреть файл
@@ -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
+4
Просмотреть файл
@@ -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