Default to minimal 2 rings and improve LL loop

[ROCm/rccl commit: 4b77a16f3f]
Tento commit je obsažen v:
Wenkai Du
2019-08-14 14:12:56 -07:00
rodič 1feef99e7d
revize 93c44e96cb
2 změnil soubory, kde provedl 5 přidání a 3 odebrání
+2 -2
Zobrazit soubor
@@ -454,8 +454,8 @@ class ncclLLPrimitives {
asm volatile ("flat_load_dwordx4 %0, %1, glc\n"
"s_waitcnt vmcnt(0)\n"
"buffer_wbinvl1_vol\n" : "=v"(i4) : "v"(src));
if (checkAbort(recvConn[i]->opCountRem)) break;
} while (i4[1] != flag || i4[3] != flag);
if (i4[1] == flag && i4[3] == flag) break;
} while (!checkAbort(recvConn[i]->opCountRem));
uint64_t val64 = (uint64_t)(i4[0]) + (((uint64_t)i4[2]) << 32);
#else
do {
+3 -1
Zobrazit soubor
@@ -171,7 +171,9 @@ static ncclResult_t fillCoords(int nranks, int* matrix, int* coords, int* rankTo
}
}
#ifdef __PPC__
#if defined(__HIP_PLATFORM_HCC__) || defined(__HCC__)
#define DEFAULT_MIN_NRINGS 2
#elif defined(__PPC__)
// Make the default NCCL_MIN_NRINGS=4 for IBM/Power nodes
#define DEFAULT_MIN_NRINGS 4
#else