Use rocm-smi thread only mutex when available (#1169)

Cette révision appartient à :
Wenkai Du
2024-05-08 14:32:24 -07:00
révisé par GitHub
Parent 73acf3eeec
révision a64aab5f63
2 fichiers modifiés avec 16 ajouts et 0 suppressions
+12
Voir le fichier
@@ -175,6 +175,15 @@ else()
set(ROCM_SMI_LIBRARIES rocm_smi64)
endif()
check_include_file_cxx("${ROCM_SMI_INCLUDE_DIR}/rocm_smi/rocm_smi64Config.h" HAVE_ROCM_SMI64CONFIG)
### Check for RSMI_INIT_FLAG_THRAD_ONLY_MUTEX support
file(READ "${ROCM_SMI_INCLUDE_DIR}/rocm_smi/rocm_smi.h" rocm_smi_incl)
string(FIND "${rocm_smi_incl}" "RSMI_INIT_FLAG_THRAD_ONLY_MUTEX" matchres)
if(${matchres} EQUAL -1)
message(STATUS "RSMI_INIT_FLAG_THRAD_ONLY_MUTEX not supported")
else()
message(STATUS "RSMI_INIT_FLAG_THRAD_ONLY_MUTEX supported")
set(HAVE_ROCM_SMI_THREAD_ONLY_MUTEX True)
endif ()
## Check for BFD library if custom backtrace is requested
if(BUILD_BFD)
@@ -543,6 +552,9 @@ endif()
if(HAVE_ROCM_SMI64CONFIG)
target_compile_definitions(rccl PRIVATE USE_ROCM_SMI64CONFIG)
endif()
if(HAVE_ROCM_SMI_THREAD_ONLY_MUTEX)
target_compile_definitions(rccl PRIVATE USE_ROCM_SMI_THREAD_ONLY_MUTEX)
endif()
if(NPKIT_FLAGS)
target_compile_definitions(rccl PRIVATE ${NPKIT_FLAGS})
endif()
+4
Voir le fichier
@@ -35,7 +35,11 @@ THE SOFTWARE.
ncclResult_t rocm_smi_init() {
#ifdef USE_ROCM_SMI_THREAD_ONLY_MUTEX
ROCMSMICHECK(rsmi_init(RSMI_INIT_FLAG_THRAD_ONLY_MUTEX));
#else
ROCMSMICHECK(rsmi_init(0));
#endif
rsmi_version_t version;
ROCMSMICHECK(rsmi_version_get(&version));
INFO(NCCL_INIT, "rocm_smi_lib: version %d.%d.%d.%s", version.major, version.minor, version.patch, version.build);