#!/bin/bash #export MIOPEN_DEBUG_DISABLE_FIND_DB=1 #export NCCL_SOCKET_IFNAME=ib0 #export HSA_USERPTR_FOR_PAGED_MEM=0 #export MIOPEN_DEBUG_DISABLE_FIND_DB=1 #export NCCL_SOCKET_IFNAME=eno1 export HSA_FORCE_FINE_GRAIN_PCIE=1 #source /public/software/apps/DeepLearning/PyTorch/pytorch-env.sh export MIOPEN_FIND_MODE=1 #export MIOPEN_ENABLE_LOGGING_CMD=1 #export ROCBLAS_LAYER=3 module unload compiler/rocm/2.9 #export MIOPEN_DEBUG_CONV_DIRECT_ASM_3X3U=0 #export MIOPEN_DEBUG_CONV_DIRECT_ASM_WRW3X3=0 echo "MIOPEN_FIND_MODE=$MIOPEN_FIND_MODE" #module load apps/PyTorch/1.5.0a0/hpcx-2.4.1-gcc-7.3.1-rocm3.3 #source /public/home/aiss/Pytorch/env_rocm3.3_torch1.5.sh lrank=$OMPI_COMM_WORLD_LOCAL_RANK comm_rank=$OMPI_COMM_WORLD_RANK comm_size=$OMPI_COMM_WORLD_SIZE #下边是修改的 #export HIP_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 #HSA_FORCE_FINE_GRAIN_PCIE=1 numactl --cpunodebind=4,5,6,7 --membind=4,5,6,7 #module load compiler/rocm/3.9.1 export PATH_PHRASE2=/public/software/apps/DeepLearning/Data/wikicorpus_en/lower_case_1_seq_len_512_max_pred_80_masked_lm_prob_0.15_random_seed_12345_dupe_factor_5_shard_1472_test_split_10/wikicorpus_en/training APP="python3 run_pretraining_v1.py \ --input_dir=${PATH_PHRASE2} \ --output_dir=/public/home/hepj/outdir/torch/pre_wiki/phrase2/fp32 \ --config_file=/public/home/hepj/model_source/pytorch_bert/bert_config.json \ --bert_model=bert-large-uncased \ --train_batch_size=2 \ --max_seq_length=512 \ --max_predictions_per_seq=80 \ --max_steps=400000 \ --warmup_proportion=0128. \ --num_steps_per_checkpoint=20000 \ --learning_rate=4.0e-3 \ --seed=12439 \ --gradient_accumulation_steps=1 \ --allreduce_post_accumulation \ --do_train \ --phase2 \ --phase1_end_step=0 \ --gpus_per_node 1 \ --local_rank -1 \ --json-summary /public/home/hepj/outdir/torch/pre_wiki/phrase2/fp32/dllogger_dtk22.04.json " #--fp16 \ # --amp \ #--json-summary /public/home/hepj/out_dir/tourch/SQuAD/results.json case ${lrank} in [0]) export HIP_VISIBLE_DEVICES=0 export UCX_NET_DEVICES=mlx5_0:1 export UCX_IB_PCI_BW=mlx5_0:50Gbs echo numactl --cpunodebind=0 --membind=0 ${APP} numactl --cpunodebind=0 --membind=0 ${APP} #echo GLOO_SOCKET_IFNAME=ib0 numactl --cpunodebind=0 --membind=0 ${APP} #GLOO_SOCKET_IFNAME=ib0 numactl --cpunodebind=0 --membind=0 ${APP} ;; [1]) export HIP_VISIBLE_DEVICES=1 export UCX_NET_DEVICES=mlx5_1:1 export UCX_IB_PCI_BW=mlx5_1:50Gbs echo numactl --cpunodebind=1 --membind=1 ${APP} numactl --cpunodebind=1 --membind=1 ${APP} ;; [2]) export HIP_VISIBLE_DEVICES=2 export UCX_NET_DEVICES=mlx5_2:1 export UCX_IB_PCI_BW=mlx5_2:50Gbs echo numactl --cpunodebind=2 --membind=2 ${APP} numactl --cpunodebind=2 --membind=2 ${APP} ;; [3]) export HIP_VISIBLE_DEVICES=3 export UCX_NET_DEVICES=mlx5_3:1 export UCX_IB_PCI_BW=mlx5_3:50Gbs echo numactl --cpunodebind=3 --membind=3 ${APP} numactl --cpunodebind=3 --membind=3 ${APP} ;; esac