Skip checking of some settings in Cray OS (#739)
이 커밋은 다음에 포함됨:
+20
-10
@@ -106,17 +106,27 @@ static ncclResult_t ncclInit() {
|
|||||||
NCCLCHECK(ncclTopoGetStrFromSys("/proc/sys/kernel", "numa_balancing", strValue));
|
NCCLCHECK(ncclTopoGetStrFromSys("/proc/sys/kernel", "numa_balancing", strValue));
|
||||||
if (strcmp(strValue, "1") == 0)
|
if (strcmp(strValue, "1") == 0)
|
||||||
WARN("NUMA auto balancing enabled which can lead to variability in the RCCL performance! Disable by \"sudo sysctl kernel.numa_balancing=0\"");
|
WARN("NUMA auto balancing enabled which can lead to variability in the RCCL performance! Disable by \"sudo sysctl kernel.numa_balancing=0\"");
|
||||||
NCCLCHECK(ncclTopoGetStrFromSys("/sys/devices/virtual/dmi/id", "bios_version", strValue));
|
NCCLCHECK(ncclTopoGetStrFromSys("/proc", "version", strValue));
|
||||||
if (strncmp("Hyper-V UEFI Release", strValue, 20) != 0) {
|
char *verStr, *state;
|
||||||
NCCLCHECK(ncclTopoGetStrFromSys("/proc", "cmdline", strValue));
|
verStr = strtok_r(strValue, " ", &state);
|
||||||
if (strstr(strValue, "amd_iommu=on") == NULL)
|
for (int i = 0; i < 2; i ++) {
|
||||||
WARN("Missing \"amd_iommu=on\" from kernel command line which can lead to system instablity or hang!");
|
verStr = strtok_r(NULL, " ", &state);
|
||||||
if (strstr(strValue, "iommu=pt") == NULL)
|
if (verStr == NULL) break;
|
||||||
WARN("Missing \"iommu=pt\" from kernel command line which can lead to system instablity or hang!");
|
}
|
||||||
|
INFO(NCCL_INIT, "Kernel version: %s", verStr);
|
||||||
|
if (strstr(verStr, "cray") == NULL) {
|
||||||
|
NCCLCHECK(ncclTopoGetStrFromSys("/sys/devices/virtual/dmi/id", "bios_version", strValue));
|
||||||
|
if (strncmp("Hyper-V UEFI Release", strValue, 20) != 0) {
|
||||||
|
NCCLCHECK(ncclTopoGetStrFromSys("/proc", "cmdline", strValue));
|
||||||
|
if (strstr(strValue, "amd_iommu=on") == NULL)
|
||||||
|
WARN("Missing \"amd_iommu=on\" from kernel command line which can lead to system instablity or hang!");
|
||||||
|
if (strstr(strValue, "iommu=pt") == NULL)
|
||||||
|
WARN("Missing \"iommu=pt\" from kernel command line which can lead to system instablity or hang!");
|
||||||
|
}
|
||||||
|
char *env = getenv("HSA_FORCE_FINE_GRAIN_PCIE");
|
||||||
|
if (env == NULL || strcmp(env, "1") != 0)
|
||||||
|
WARN("Missing \"HSA_FORCE_FINE_GRAIN_PCIE=1\" from environment which can lead to low RCCL performance, system instablity or hang!");
|
||||||
}
|
}
|
||||||
char *env = getenv("HSA_FORCE_FINE_GRAIN_PCIE");
|
|
||||||
if (env == NULL || strcmp(env, "1") != 0)
|
|
||||||
WARN("Missing \"HSA_FORCE_FINE_GRAIN_PCIE=1\" from environment which can lead to low RCCL performance, system instablity or hang!");
|
|
||||||
#ifndef NVTX_NO_IMPL
|
#ifndef NVTX_NO_IMPL
|
||||||
initNvtxRegisteredEnums();
|
initNvtxRegisteredEnums();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
새 이슈에서 참조
사용자 차단