@@ -32,6 +32,7 @@ STATE_FILE="${CURRENT_DIR}/.build_state"
3232# set BUILD_WITH_FLAGCX to 1 if we want to use flagcx as communication backend
3333BUILD_WITH_FLAGCX=0
3434FLAGCX_ROOT=" /workspace/FlagCX"
35+ PLATFORM_ID=$( uname -i)
3536
3637if [ " $BUILD_WITH_FLAGCX " == " 1" ]; then
3738 WITH_FLAGCX=" ON"
@@ -136,21 +137,36 @@ pushd "$BUILD_DIR" > /dev/null
136137rm -f compile.log
137138if [[ ! -f " Makefile" && ! -f " build.ninja" ]]; then
138139 echo " Running cmake for first time build..."
139- cmake -G Ninja -DPY_VERSION=${PYTHON_VERSION} -DWITH_COREX=ON -DPADDLE_SOURCE_DIR=${PADDLE_SOURCE_DIR} \
140- -DWITH_DISTRIBUTE=ON -DWITH_NCCL=ON -DWITH_FLAGCX=${WITH_FLAGCX} -DWITH_RCCL=OFF -DCMAKE_BUILD_TYPE=Release \
141- -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DON_INFER=ON -DCOREX_VERSION=${COREX_VERSION} -DCOREX_ARCH=${COREX_ARCH} \
142- -DFLAGCX_ROOT=${FLAGCX_ROOT} \
143- -DCMAKE_CXX_FLAGS=' -Wno-error=pessimizing-move -Wno-error=deprecated-copy -Wno-error=init-list-lifetime -pthread' \
144- -DCMAKE_CUDA_FLAGS=' -Xclang -fcuda-allow-variadic-functions -mllvm --skip-double' \
145- -DCMAKE_C_FLAGS=" -pthread" \
146- -DWITH_ARM=OFF -DWITH_DGC=OFF .. 2>&1 | tee compile.log
140+ if [[ " ${PLATFORM_ID} " == " aarch64" ]]; then
141+ cmake -G Ninja -DPY_VERSION=${PYTHON_VERSION} -DWITH_COREX=ON -DPADDLE_SOURCE_DIR=${PADDLE_SOURCE_DIR} \
142+ -DWITH_DISTRIBUTE=ON -DWITH_NCCL=ON -DWITH_FLAGCX=${WITH_FLAGCX} -DWITH_RCCL=OFF -DCMAKE_BUILD_TYPE=Release \
143+ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DON_INFER=ON -DCOREX_VERSION=${COREX_VERSION} -DCOREX_ARCH=${COREX_ARCH} \
144+ -DFLAGCX_ROOT=${FLAGCX_ROOT} \
145+ -DCMAKE_CXX_FLAGS=' -Wno-error=pessimizing-move -Wno-error=deprecated-copy -Wno-error=init-list-lifetime -pthread' \
146+ -DCMAKE_CUDA_FLAGS=' -Xclang -fcuda-allow-variadic-functions -mllvm --skip-double' \
147+ -DCMAKE_C_FLAGS=" -pthread" \
148+ -DWITH_ARM=ON -DWITH_DGC=OFF .. 2>&1 | tee compile.log
149+ else
150+ cmake -G Ninja -DPY_VERSION=${PYTHON_VERSION} -DWITH_COREX=ON -DPADDLE_SOURCE_DIR=${PADDLE_SOURCE_DIR} \
151+ -DWITH_DISTRIBUTE=ON -DWITH_NCCL=ON -DWITH_FLAGCX=${WITH_FLAGCX} -DWITH_RCCL=OFF -DCMAKE_BUILD_TYPE=Release \
152+ -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DON_INFER=ON -DCOREX_VERSION=${COREX_VERSION} -DCOREX_ARCH=${COREX_ARCH} \
153+ -DFLAGCX_ROOT=${FLAGCX_ROOT} \
154+ -DCMAKE_CXX_FLAGS=' -Wno-error=pessimizing-move -Wno-error=deprecated-copy -Wno-error=init-list-lifetime -pthread' \
155+ -DCMAKE_CUDA_FLAGS=' -Xclang -fcuda-allow-variadic-functions -mllvm --skip-double' \
156+ -DCMAKE_C_FLAGS=" -pthread" \
157+ -DWITH_ARM=OFF -DWITH_DGC=OFF .. 2>&1 | tee compile.log
158+ fi
147159else
148160 echo " Cmake configuration already exists, skipping..."
149161fi
150162
151163# Compile
152164echo " Starting compilation..."
153- ninja -j$( nproc) 2>&1
165+ if [[ " ${PLATFORM_ID} " == " aarch64" ]]; then
166+ env TARGET=ARMV8 ninja -j$( nproc) 2>&1
167+ else
168+ ninja -j$( nproc) 2>&1
169+ fi
154170FAILED_LOG=" failed_files.log"
155171grep -E " FAILED: " compile.log | tee ${FAILED_LOG}
156172echo " Failed files are listed in ${FAILED_LOG} "
0 commit comments