Virtual device enablement ( Minimal changes ) (#2110)
* minimal changes * Setting Default tuning table * Add warnings NIC merge accross PCIe Root complexes,NUMA --------- Co-authored-by: Corey Derochie <161367113+corey-derochie-amd@users.noreply.github.com>
This commit is contained in:
+1
-2
@@ -1462,9 +1462,8 @@ ncclResult_t ncclTopoGetSystem(struct ncclComm* comm, struct ncclTopoSystem** sy
|
||||
comm->ncclCollNet->getProperties, comm->ncclCollNet->makeVDevice, comm->ncclCollNet->devices, comm->ncclCollNet->name, comm->dmaBufSupport), ret, fail);
|
||||
}
|
||||
NCCLCHECKGOTO(ncclTopoGetSharedState(&state, comm->ncclNet->name, netStates), ret, fail);
|
||||
// [RCCL] Disabled virtual devices
|
||||
NCCLCHECKGOTO(ncclTopoProcessNet(xml, 0, dumpXmlFile, state,
|
||||
comm->ncclNet->getProperties, nullptr /*comm->ncclNet->makeVDevice*/, comm->ncclNet->devices, comm->ncclNet->name, comm->dmaBufSupport), ret, fail);
|
||||
comm->ncclNet->getProperties, comm->ncclNet->makeVDevice, comm->ncclNet->devices, comm->ncclNet->name, comm->dmaBufSupport), ret, fail);
|
||||
pthread_mutex_unlock(&netLock);
|
||||
netLockHeld = 0;
|
||||
|
||||
|
||||
@@ -915,3 +915,24 @@ ncclResult_t ncclTopoGetAlgoTime(struct ncclComm* comm, int coll, int algorithm,
|
||||
*time = lat * latCount + nBytes / (1000 * bw);
|
||||
return ncclSuccess;
|
||||
}
|
||||
|
||||
/**
|
||||
* takes gfx arch name as C-style string and returns a tuning index to
|
||||
*/
|
||||
int rcclGetTuningIndexForArch(const char* gfxarch) {
|
||||
static const std::vector<std::pair<std::string, int>> tuningIndexMap = {
|
||||
{"gfx906", 0}, {"gfx908", 0}, {"gfx90a", 0}, {"gfx942", 5},
|
||||
{"gfx950", 6}, {"gfx1030", 0}, {"gfx1100", 0}, {"gfx1102", 0},
|
||||
{"gfx1200", 7}, {"gfx1201", 7}
|
||||
};
|
||||
if (gfxarch == nullptr) return 0;
|
||||
std::string arch(gfxarch);
|
||||
for (const auto& p : tuningIndexMap) {
|
||||
const std::string& prefix = p.first;
|
||||
if (arch.size() >= prefix.size() &&
|
||||
arch.compare(0, prefix.size(), prefix) == 0) {
|
||||
return p.second;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
Fai riferimento in un nuovo problema
Block a user