wangrongsheng's picture
Add files using upload-large-folder tool
a86f2f6 verified
# coding=utf-8
# Copyright (c) 2025 Huawei Technologies Co., Ltd. All rights reserved.
#
#!/bin/bash
# use example:
# bash generate.sh ${NNODES} ${NODE_RANK} ${NPROC_PER_NODE} ${MASTER_ADDR} ${PROMPTS}
# input args
export NNODES=$1
export NODE_RANK=$2
export NPROC_PER_NODE=$3
export MASTER_ADDR=$4 # master node IP
export prompt=$5
export MASTER_PORT=6038 # master node port
export WORLD_SIZE=32
export YAML=runner_config/tp32.yaml
export RANK_OFFSET=`expr $NODE_RANK \* ${NPROC_PER_NODE}`
# setup env
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export HCCL_SOCKET_IFNAME=enp # network card prefix. specify it according to the actual situation e.g enp/eth
export HCCL_IF_IP=`hostname -I|awk -F " " '{print$1}'` # get current node IP
export HCCL_IF_BASE_PORT=23456
export HCCL_OP_EXPANSION_MODE=AIV
export HCCL_CONNECT_TIMEOUT=1200
export HCCL_EXEC_TIMEOUT=1200
if [[ -d "/usr/local/Ascend/ascend-toolkit/latest" ]]; then
export ASCEND_HOME_PATH=/usr/local/Ascend/ascend-toolkit/latest
else
export ASCEND_HOME_PATH=/usr/local/Ascend/latest
fi
export PYTHONPATH=${PYTHONPATH}:${ASCEND_HOME_PATH}/python/site-packages/
# set result path
DATE=`date +%Y%m%d`
export MODEL_NAME="pangu_ultra_moe"
NAME=${MODEL_NAME}_${WORLD_SIZE}p
export TASK_QUEUE_ENABLE=2 # eager mode:opt host perf
export RES_PATH="res/${DATE}/${NAME}"
WORK_DIR=`pwd`
DUMP_PRECISION_PATH=${WORK_DIR}'/'${RES_PATH}'/dump_data'
mkdir -p ${WORK_DIR}'/'${RES_PATH}
mkdir -p ${DUMP_PRECISION_PATH}
# launch multi proc
cores=`cat /proc/cpuinfo|grep "processor" |wc -l`
avg_core_per_rank=`expr $cores \/ $NPROC_PER_NODE`
core_gap=`expr $avg_core_per_rank \- 1`
for((i=0; i<${NPROC_PER_NODE}; i++))
do
echo $i
start=`expr $i \* $avg_core_per_rank`
end=`expr $start \+ $core_gap`
cmdopt=$start"-"$end
export LOCAL_RANK=$i
export RANK=$(expr $i + $RANK_OFFSET)
export RANK_ID=$RANK
if [ $i -eq 0 ];then
taskset -c $cmdopt python3 generate.py \
--prompt "$prompt" \
--yaml_file_path=${YAML} 2>&1 | tee ${WORK_DIR}/${RES_PATH}/log_${LOCAL_RANK}.log &
else
taskset -c $cmdopt python3 generate.py \
--prompt "$prompt" \
--yaml_file_path=${YAML} &> ${WORK_DIR}/${RES_PATH}/log_${LOCAL_RANK}.log &
fi
done
wait