Skip to content

Commit 52163c5

Browse files
committed
Updated w/ batched progress tracking for archiving
1 parent c9402a0 commit 52163c5

2 files changed

Lines changed: 37 additions & 4 deletions

File tree

transformer_engine/common/ck_fused_attn/aiter_build.sh

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ if [[ -z "${RANLIB_BIN}" ]]; then
6060
fi
6161

6262
# Create static archives for both forward and backward passes
63+
batch_size=${AITER_ARCHIVE_BATCH_SIZE:-400}
6364
for lib in fwd bwd; do
6465
src_obj_dir="${AITER_DIR}/aiter/jit/build/libmha_${lib}/build"
6566
out_archive="${AITER_TEST_DIR}/libmha_${lib}.a"
@@ -75,9 +76,23 @@ for lib in fwd bwd; do
7576
exit 1
7677
fi
7778

79+
total_objs=${#obj_files[@]}
80+
7881
rm -f "${out_archive}"
79-
for obj in "${obj_files[@]}"; do
80-
"${AR_BIN}" q "${out_archive}" "${obj}"
82+
idx=0
83+
while [[ ${idx} -lt ${total_objs} ]]; do
84+
remaining=$((total_objs - idx))
85+
current_batch_size=${batch_size}
86+
if [[ ${remaining} -lt ${batch_size} ]]; then
87+
current_batch_size=${remaining}
88+
fi
89+
90+
chunk=("${obj_files[@]:idx:current_batch_size}")
91+
"${AR_BIN}" q "${out_archive}" "${chunk[@]}"
92+
93+
idx=$((idx + current_batch_size))
94+
percent=$((idx * 100 / total_objs))
95+
echo -ne "[AITER-BUILD] [${lib}] archiving objects: ${idx}/${total_objs} (${percent}%)\r"
8196
done
8297
if [[ -n "${RANLIB_BIN}" ]]; then
8398
"${RANLIB_BIN}" "${out_archive}"

transformer_engine/common/ck_fused_attn/aiter_prebuilt.cmake

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,18 @@ set(EXTRACT_DIR "${CACHE_ROOT}/${KEY}")
2929

3030
# Validate existing cache path
3131
function(is_aiter_cache_valid CACHE_VALID)
32-
if(EXISTS "${EXTRACT_DIR}/libmha_fwd.so" AND EXISTS "${EXTRACT_DIR}/libmha_bwd.so")
32+
set(_AITER_CACHE_VALID TRUE)
33+
if(NVTE_AITER_STATIC_LINK)
34+
set(_AITER_LIB_EXT "a")
35+
else()
36+
set(_AITER_LIB_EXT "so")
37+
endif()
38+
39+
if(NOT (EXISTS "${EXTRACT_DIR}/libmha_fwd.${_AITER_LIB_EXT}" AND EXISTS "${EXTRACT_DIR}/libmha_bwd.${_AITER_LIB_EXT}"))
40+
set(_AITER_CACHE_VALID FALSE)
41+
endif()
42+
43+
if(_AITER_CACHE_VALID)
3344
set(${CACHE_VALID} TRUE PARENT_SCOPE)
3445
message(STATUS "[AITER-PREBUILT] Found Cached build files at ${EXTRACT_DIR}")
3546
return()
@@ -44,8 +55,15 @@ endfunction()
4455
function(cache_local_aiter_build SOURCE_DIR)
4556
file(MAKE_DIRECTORY "${EXTRACT_DIR}")
4657
message(STATUS "[AITER-PREBUILT] Caching locally built libs to ${EXTRACT_DIR}")
47-
file(COPY "${SOURCE_DIR}/libmha_fwd.so" "${SOURCE_DIR}/libmha_bwd.so" DESTINATION "${EXTRACT_DIR}")
58+
if(EXISTS "${SOURCE_DIR}/libmha_fwd.so" AND EXISTS "${SOURCE_DIR}/libmha_bwd.so")
59+
file(COPY "${SOURCE_DIR}/libmha_fwd.so" "${SOURCE_DIR}/libmha_bwd.so" DESTINATION "${EXTRACT_DIR}")
60+
elseif(NOT NVTE_AITER_STATIC_LINK)
61+
message(FATAL_ERROR "Expected libmha_fwd.so and libmha_bwd.so under ${SOURCE_DIR}")
62+
endif()
4863
if(NVTE_AITER_STATIC_LINK)
64+
if(NOT EXISTS "${SOURCE_DIR}/libmha_fwd.a" OR NOT EXISTS "${SOURCE_DIR}/libmha_bwd.a")
65+
message(FATAL_ERROR "Expected libmha_fwd.a and libmha_bwd.a under ${SOURCE_DIR} for static link mode")
66+
endif()
4967
file(COPY "${SOURCE_DIR}/libmha_fwd.a" "${SOURCE_DIR}/libmha_bwd.a" DESTINATION "${EXTRACT_DIR}")
5068
endif()
5169
endfunction()

0 commit comments

Comments
 (0)