diff --git a/.github/actions/inductor-xpu-e2e-test/action.yml b/.github/actions/inductor-xpu-e2e-test/action.yml index 14f8ae963..5adaa7cda 100644 --- a/.github/actions/inductor-xpu-e2e-test/action.yml +++ b/.github/actions/inductor-xpu-e2e-test/action.yml @@ -65,19 +65,20 @@ runs: cd benchmark && git checkout $TORCHBENCH_COMMIT_ID # remove deps which will reinstall torch pip install --no-deps accelerate - pip install --no-deps $(cat requirements.txt |grep 'pytorch-image-models') - timm_commit="$(grep 'pytorch-image-models' requirements.txt |awk -F '@' '{print $2}')" - pip install $(curl -sSL https://raw.githubusercontent.com/huggingface/pytorch-image-models/${timm_commit:-"main"}/requirements.txt | grep -vE torch) - sed -i 's+.*pytorch-image-models.*++g;s+^accelerate.*++g' requirements.txt + pip install --no-deps git+https://github.com/huggingface/pytorch-image-models@$TIMM_COMMIT_ID + pip install $(curl -sSL https://raw.githubusercontent.com/huggingface/pytorch-image-models/$TIMM_COMMIT_ID/requirements.txt | grep -vE torch) + pip install -U transformers==4.44.2 + sed -i 's+.*pytorch-image-models.*++g;s+^accelerate.*++g;s/^transformers.*//g' requirements.txt + git status && git diff pip install -r requirements.txt python install.py --continue_on_fail # deps for torchrec_dlrm pip install pyre_extensions - pip install fbgemm-gpu --index-url https://download.pytorch.org/whl/nightly/cpu + pip install fbgemm-gpu --index-url https://download.pytorch.org/whl/cpu pip install --no-deps lightning-utilities==0.14.3 torchmetrics==1.0.3 tensordict torchrec fi if [[ ${{ inputs.suite }} == *"huggingface"* ]]; then - pip install --force-reinstall git+https://github.com/huggingface/transformers@${TRANSFORMERS_VERSION} + pip install -U transformers==4.44.2 fi if [[ ${{ inputs.suite }} == *"timm_models"* ]]; then if [ "${{ inputs.pytorch }}" != "nightly_wheel" ]; then diff --git a/.github/actions/pt2e/action.yml b/.github/actions/pt2e/action.yml index ca66b448e..1fed5a88d 100644 --- a/.github/actions/pt2e/action.yml +++ b/.github/actions/pt2e/action.yml @@ -62,18 +62,20 @@ runs: fi # torchbench python -c "import torch, torchvision, torchaudio" - cd pt2e-performance && pip install -r requirements.txt + cd pt2e-performance + # remove deps which will reinstall torch + pip install --no-deps accelerate + pip install --no-deps git+https://github.com/huggingface/pytorch-image-models@$TIMM_COMMIT_ID + pip install $(curl -sSL https://raw.githubusercontent.com/huggingface/pytorch-image-models/$TIMM_COMMIT_ID/requirements.txt | grep -vE torch) + pip install -U transformers==4.44.2 + sed -i 's+.*pytorch-image-models.*++g;s+^accelerate.*++g;s/^transformers.*//g' requirements.txt + git status && git diff + pip install -r requirements.txt python install.py --continue_on_fail - cd ../ # deps for torchrec_dlrm pip install pyre_extensions - pip install fbgemm-gpu - pip install --no-deps torchmetrics==1.0.3 torchrec - # transformers - pip install --force-reinstall git+https://github.com/huggingface/transformers@${TRANSFORMERS_VERSION} - # timm - pip install --no-deps git+https://github.com/huggingface/pytorch-image-models@$TIMM_COMMIT_ID - pip install $(curl -sSL https://raw.githubusercontent.com/huggingface/pytorch-image-models/$TIMM_COMMIT_ID/requirements.txt | grep -vE torch) + pip install fbgemm-gpu --index-url https://download.pytorch.org/whl/cpu + pip install --no-deps lightning-utilities==0.14.3 torchmetrics==1.0.3 tensordict torchrec fi pip install numpy==1.26.4 # dataset @@ -97,35 +99,42 @@ runs: pt2e_logs_dir="${{ github.workspace }}/../pytorch/inductor_log/pt2e" rm -rf "${pt2e_logs_dir}" && mkdir -p "${pt2e_logs_dir}" if [[ "${{ inputs.scenario }}" == *"accuracy"* ]];then - if [[ "${{ inputs.dt }}" == *"float32"* ]];then - python pt2e-accuracy/scripts/modelbench/quant/inductor_quant_acc.py --device xpu --is_fp32 --dataset_dir ${HOME}/datasets/imagenet |\ - tee "${pt2e_logs_dir}/accuracy-fp32.log" - fi - if [[ "${{ inputs.dt }}" == *"int8"* ]];then - python pt2e-accuracy/scripts/modelbench/quant/inductor_quant_acc.py --device xpu --dataset_dir ${HOME}/datasets/imagenet |\ - tee "${pt2e_logs_dir}/accuracy-int8.log" - fi + models="alexnet,mnasnet1_0,mobilenet_v2,mobilenet_v3_large,resnet152,resnet18,resnet50,resnext50_32x4d,shufflenet_v2_x1_0,squeezenet1_1,vgg16" + for model_name in $(echo $models |sed 's/,/ /g') + do + if [[ "${{ inputs.dt }}" == *"float32"* ]];then + python pt2e-accuracy/scripts/modelbench/quant/inductor_quant_acc.py --device xpu --is_fp32 --dataset_dir ${HOME}/datasets/imagenet 2>&1 |\ + tee "${pt2e_logs_dir}/accuracy-fp32-${model_name}.log" + fi + if [[ "${{ inputs.dt }}" == *"int8"* ]];then + python pt2e-accuracy/scripts/modelbench/quant/inductor_quant_acc.py --device xpu --dataset_dir ${HOME}/datasets/imagenet 2>&1 |\ + tee "${pt2e_logs_dir}/accuracy-int8-${model_name}.log" + fi + done fi if [[ "${{ inputs.scenario }}" == *"performance"* ]];then models="alexnet,demucs,dlrm,hf_Albert,hf_Bert,hf_Bert_large,hf_DistilBert,hf_Roberta_base,mnasnet1_0,mobilenet_v2," models+="mobilenet_v3_large,nvidia_deeprecommender,pytorch_CycleGAN_and_pix2pix,resnet152,resnet18,resnet50,resnext50_32x4d," models+="shufflenet_v2_x1_0,squeezenet1_1,Super_SloMo,timm_efficientnet,timm_nfnet,timm_regnet,timm_resnest," models+="timm_vision_transformer,timm_vision_transformer_large,timm_vovnet,vgg16" - if [[ "${{ inputs.dt }}" == *"float32"* ]];then - rm -rf pt2e-performance/.userbenchmark - python pt2e-performance/run_benchmark.py xpu --test eval --channels-last --metrics throughputs --torchdynamo inductor -m $models 2>&1 |\ - tee "${pt2e_logs_dir}/performance-fp32.log" - mv pt2e-performance/.userbenchmark ${pt2e_logs_dir}/performance-fp32 - fi - if [[ "${{ inputs.dt }}" == *"int8"* ]];then - rm -rf pt2e-performance/.userbenchmark - XPU_QUANT_CONFIG=ASYMM python pt2e-performance/run_benchmark.py xpu --test eval --channels-last --metrics throughputs --torchdynamo inductor --quantization pt2e -m $models 2>&1 |\ - tee "${pt2e_logs_dir}/performance-int8-ASYMM.log" - mv pt2e-performance/.userbenchmark ${pt2e_logs_dir}/performance-int8-ASYMM + for model_name in $(echo $models |sed 's/,/ /g') + do + if [[ "${{ inputs.dt }}" == *"float32"* ]];then + rm -rf pt2e-performance/.userbenchmark + python pt2e-performance/run_benchmark.py xpu --test eval --channels-last --metrics throughputs \ + --torchdynamo inductor -m $model_name 2>&1 |tee "${pt2e_logs_dir}/performance-fp32.log" + mv pt2e-performance/.userbenchmark ${pt2e_logs_dir}/performance-fp32-${model_name} + fi + if [[ "${{ inputs.dt }}" == *"int8"* ]];then + rm -rf pt2e-performance/.userbenchmark + XPU_QUANT_CONFIG=ASYMM python pt2e-performance/run_benchmark.py xpu --test eval --channels-last --metrics throughputs \ + --torchdynamo inductor --quantization pt2e -m $model_name 2>&1 |tee "${pt2e_logs_dir}/performance-int8-ASYMM.log" + mv pt2e-performance/.userbenchmark ${pt2e_logs_dir}/performance-int8-ASYMM-${model_name} - rm -rf pt2e-performance/.userbenchmark - XPU_QUANT_CONFIG=SYMM python pt2e-performance/run_benchmark.py xpu --test eval --channels-last --metrics throughputs --torchdynamo inductor --quantization pt2e -m $models 2>&1 |\ - tee "${pt2e_logs_dir}/performance-int8-SYMM.log" - mv pt2e-performance/.userbenchmark ${pt2e_logs_dir}/performance-int8-SYMM - fi + rm -rf pt2e-performance/.userbenchmark + XPU_QUANT_CONFIG=SYMM python pt2e-performance/run_benchmark.py xpu --test eval --channels-last --metrics throughputs \ + --torchdynamo inductor --quantization pt2e -m $model_name 2>&1 |tee "${pt2e_logs_dir}/performance-int8-SYMM.log" + mv pt2e-performance/.userbenchmark ${pt2e_logs_dir}/performance-int8-SYMM-${model_name} + fi + done fi diff --git a/.github/ci_expected_accuracy/rolling/inductor_torchbench_inference.csv b/.github/ci_expected_accuracy/rolling/inductor_torchbench_inference.csv index 113ead386..07782840d 100644 --- a/.github/ci_expected_accuracy/rolling/inductor_torchbench_inference.csv +++ b/.github/ci_expected_accuracy/rolling/inductor_torchbench_inference.csv @@ -22,13 +22,14 @@ detectron2_fasterrcnn_r_101_dc5,pass,eager_fail_to_run,fail_accuracy,fail_accura detectron2_fasterrcnn_r_101_fpn,pass,eager_fail_to_run,fail_accuracy,fail_accuracy,fail_accuracy detectron2_fasterrcnn_r_50_c4,pass,eager_fail_to_run,fail_accuracy,fail_accuracy,fail_accuracy detectron2_fasterrcnn_r_50_dc5,pass,eager_fail_to_run,fail_accuracy,fail_accuracy,fail_accuracy -detectron2_fasterrcnn_r_50_fpn,pass,eager_fail_to_run,pass,fail_accuracy,fail_accuracy +detectron2_fasterrcnn_r_50_fpn,pass,eager_fail_to_run,pass,fail_accuracy,pass detectron2_fcos_r_50_fpn,pass,pass,pass,pass,pass detectron2_maskrcnn,fail_to_run,eager_fail_to_run,fail_to_run,eager_fail_to_run,fail_to_run detectron2_maskrcnn_r_101_c4,fail_accuracy,eager_fail_to_run,fail_accuracy,fail_accuracy,fail_accuracy detectron2_maskrcnn_r_101_fpn,fail_accuracy,eager_fail_to_run,eager_1st_run_OOM,eager_1st_run_OOM,fail_accuracy -detectron2_maskrcnn_r_50_c4,pass,eager_fail_to_run,fail_accuracy,fail_accuracy,fail_accuracy -detectron2_maskrcnn_r_50_fpn,pass,eager_fail_to_run,eager_1st_run_OOM,eager_1st_run_OOM,fail_accuracy +# https://github.com/intel/torch-xpu-ops/issues/1796 +detectron2_maskrcnn_r_50_c4,fail_accuracy,eager_fail_to_run,fail_accuracy,fail_accuracy,fail_accuracy +detectron2_maskrcnn_r_50_fpn,eager_1st_run_OOM,eager_fail_to_run,eager_1st_run_OOM,eager_1st_run_OOM,fail_accuracy dlrm,pass,pass,pass,pass,pass doctr_det_predictor,pass,pass,pass,pass,pass doctr_reco_predictor,pass,pass,pass,pass,pass diff --git a/.github/ci_expected_accuracy/rolling/inductor_torchbench_training.csv b/.github/ci_expected_accuracy/rolling/inductor_torchbench_training.csv index 553e32393..719248b0e 100644 --- a/.github/ci_expected_accuracy/rolling/inductor_torchbench_training.csv +++ b/.github/ci_expected_accuracy/rolling/inductor_torchbench_training.csv @@ -33,7 +33,8 @@ drq,pass,pass,pass,pass,pass fastNLP_Bert,pass,pass,pass,pass,pass # https://github.com/intel/torch-xpu-ops/issues/508 functorch_dp_cifar10,fail_accuracy,fail_accuracy,fail_accuracy,pass,pass -functorch_maml_omniglot,pass,pass,pass,pass,pass +# https://github.com/intel/torch-xpu-ops/issues/1807 +functorch_maml_omniglot,pass,pass,pass,pass,eager_fail_to_run hf_Albert,pass,pass,pass,pass,pass hf_Bart,pass,pass,pass,pass,pass hf_Bert,pass,pass,pass,pass,pass @@ -56,11 +57,13 @@ llama,pass,pass,pass,pass,pass llama_v2_7b_16h,pass_due_to_skip,pass_due_to_skip,pass_due_to_skip,pass_due_to_skip,pass_due_to_skip llava,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run maml,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run -maml_omniglot,pass,pass,pass,pass,pass +# https://github.com/intel/torch-xpu-ops/issues/1807 +maml_omniglot,pass,pass,pass,pass,eager_fail_to_run microbench_unbacked_tolist_sum,pass,pass,pass,pass,pass mnasnet1_0,pass,pass,pass,pass,pass mobilenet_v2,pass,pass,pass,pass,pass -mobilenet_v2_quantized_qat,pass,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run +# https://github.com/intel/torch-xpu-ops/issues/1787 +mobilenet_v2_quantized_qat,fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run mobilenet_v3_large,pass,pass,pass,pass,pass moco,model_fail_to_load,model_fail_to_load,eager_fail_to_run,model_fail_to_load,model_fail_to_load moondream,pass,pass,pass,pass,pass @@ -68,7 +71,8 @@ nanogpt,pass,pass,pass,pass,pass nvidia_deeprecommender,pass,pass,pass,pass,pass opacus_cifar10,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run phlippe_densenet,pass,pass,pass,pass,pass -phlippe_resnet,pass,pass,pass,pass,pass +# https://github.com/intel/torch-xpu-ops/issues/1799 +phlippe_resnet,pass,fail_accuracy,pass,pass,pass pyhpc_equation_of_state,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run pyhpc_isoneutral_mixing,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run pyhpc_turbulent_kinetic_energy,model_fail_to_load,model_fail_to_load,model_fail_to_load,model_fail_to_load,model_fail_to_load @@ -78,14 +82,16 @@ pytorch_unet,pass_due_to_skip,pass_due_to_skip,pass_due_to_skip,pass_due_to_skip resnet152,pass,pass,pass,pass,pass resnet18,pass,pass,pass,pass,pass resnet50,pass,pass,pass,pass,pass -resnet50_quantized_qat,pass,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run +# https://github.com/intel/torch-xpu-ops/issues/1787 +resnet50_quantized_qat,fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run resnext50_32x4d,pass,pass,pass,pass,pass sam,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run sam_fast,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run,eager_fail_to_run shufflenet_v2_x1_0,pass,pass,pass,pass,pass simple_gpt,model_fail_to_load,model_fail_to_load,model_fail_to_load,model_fail_to_load,model_fail_to_load simple_gpt_tp_manual,model_fail_to_load,model_fail_to_load,model_fail_to_load,model_fail_to_load,model_fail_to_load -soft_actor_critic,pass,pass,pass,pass,pass +# https://github.com/intel/torch-xpu-ops/issues/1806 +soft_actor_critic,pass,pass,pass,pass,eager_fail_to_run speech_transformer,pass,pass,pass,pass,pass squeezenet1_1,pass,pass,pass,pass,pass stable_diffusion_text_encoder,pass,pass,pass,pass,pass @@ -96,7 +102,7 @@ timm_efficientdet,model_fail_to_load,model_fail_to_load,model_fail_to_load,model timm_efficientnet,pass,pass,pass,pass,pass timm_nfnet,pass,pass,pass,pass,pass # https://github.com/intel/torch-xpu-ops/issues/1334 -timm_regnet,pass,fail_accuracy,pass,pass,pass +timm_regnet,pass,fail_accuracy,fail_accuracy,pass,pass timm_resnest,pass,pass,pass,pass,pass timm_vision_transformer,pass,pass,pass,pass,pass timm_vision_transformer_large,pass_due_to_skip,pass_due_to_skip,pass_due_to_skip,pass_due_to_skip,pass_due_to_skip diff --git a/.github/workflows/_linux_build.yml b/.github/workflows/_linux_build.yml index 1b2980605..60dd2c49b 100644 --- a/.github/workflows/_linux_build.yml +++ b/.github/workflows/_linux_build.yml @@ -28,11 +28,6 @@ on: type: string default: 'linux.idc.xpu' description: Runner label - update_lkg: - required: false - type: string - default: 'false' - description: Whether update LKG torch version to issue #1280 outputs: torch_commit_id: description: The commit id of the torch build diff --git a/.github/workflows/_linux_ut.yml b/.github/workflows/_linux_ut.yml index 35a4d2f37..7261c66e1 100644 --- a/.github/workflows/_linux_ut.yml +++ b/.github/workflows/_linux_ut.yml @@ -59,7 +59,7 @@ jobs: steps: - name: Checkout torch-xpu-ops uses: actions/checkout@v4 - - name: Prepare Stock Pytorch + - name: Create Conda Env run: | pwd which conda && conda clean -ay @@ -67,68 +67,65 @@ jobs: rm -rf $(dirname ${CONDA_EXE})/../envs/xpu_op_${ZE_AFFINITY_MASK} conda create -n xpu_op_${ZE_AFFINITY_MASK} python=${{ inputs.python }} cmake ninja -y source activate xpu_op_${ZE_AFFINITY_MASK} - cd ../ - rm -rf pytorch || sudo rm -rf pytorch - pip install requests - git clone https://github.com/pytorch/pytorch pytorch - if [ "${{ inputs.pytorch }}" != "nightly_wheel" ]; then - cd pytorch && git checkout $(echo ${{ inputs.pytorch }}) - # apply PRs for stock pytorch - python ../torch-xpu-ops/.github/scripts/apply_torch_pr.py - git status && git show -s - git submodule sync && git submodule update --init --recursive - if [[ ${{ inputs.keep_torch_xpu_ops }} == 'true' ]]; then - echo "Don't replace torch-xpu-ops!" - else - rm -rf third_party/torch-xpu-ops && cp -r ../torch-xpu-ops third_party/ - # Workaround for torch-xpu-ops ci test - sed -i "s/checkout --quiet \${TORCH_XPU_OPS_COMMIT}/log -n 1/g" caffe2/CMakeLists.txt - fi - fi - - name: Triton Installation - run: | - source activate xpu_op_${ZE_AFFINITY_MASK} - cd ../pytorch - if [ -z ${{ inputs.triton }} ]; then - TRITON_COMMIT_ID="$(<.ci/docker/ci_commit_pins/triton-xpu.txt)" - else - TRITON_COMMIT_ID="${{ inputs.triton }}" - fi - if [ "${{ inputs.pytorch }}" != "nightly_wheel" ]; then - pip install cmake ninja pybind11 - rm -rf pytorch_triton_xpu-*.whl - python .github/scripts/build_triton_wheel.py --device xpu --commit-hash ${TRITON_COMMIT_ID} - pip install pytorch_triton_xpu-*.whl - fi - name: Download Pytorch wheel if: ${{ inputs.pytorch != 'nightly_wheel' }} uses: actions/download-artifact@v4 with: name: Torch-XPU-Wheel-${{ github.event.pull_request.number || github.sha }} - path: ${{ github.workspace }} - - name: Install Pytorch XPU + - name: Prepare Stock Pytorch run: | + cd ../ + rm -rf ./pytorch || sudo rm -rf ./pytorch + git clone https://github.com/pytorch/pytorch pytorch source activate xpu_op_${ZE_AFFINITY_MASK} if [ "${{ inputs.pytorch }}" != "nightly_wheel" ]; then - cd ../pytorch - export CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}:${CONDA_PREFIX:-"$(dirname $(which conda))/../"} - pip install -r requirements.txt pip install --force-reinstall ${{ github.workspace }}/torch*.whl + TORCH_COMMIT_ID=$(python -c 'import torch; print(torch.version.git_version)') + cd ./pytorch + git checkout ${TORCH_COMMIT_ID} + rm -rf vision || sudo rm -rf vision git clone https://github.com/pytorch/vision && cd vision && python setup.py install && cd .. else pip install torch torchvision torchaudio --pre --index-url https://download.pytorch.org/whl/nightly/xpu TORCH_COMMIT_ID=$(python -c 'import torch; print(torch.version.git_version)') - cd ../pytorch - git reset --hard && git checkout ${TORCH_COMMIT_ID} + cd ./pytorch + git checkout ${TORCH_COMMIT_ID} + fi + pip install requests + python ../torch-xpu-ops/.github/scripts/apply_torch_pr.py + git show -s && git status && git diff + pip install -r .ci/docker/requirements-ci.txt + - name: Prepare Torch-xpu-ops + run: | + cd ../pytorch + rm -rf third_party/torch-xpu-ops + if [ "${{ inputs.pytorch }}" != "nightly_wheel" ]; then + cp -r ${{ github.workspace }} third_party + else TORCH_XPU_OPS_COMMIT=$(> "${GITHUB_ENV}" fi - echo "TORCH_BRANCH_ID=$(git rev-parse --abbrev-ref HEAD)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" + echo "TORCH_BRANCH_ID=${{ inputs.pytorch }}" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" echo "TORCH_COMMIT_ID=$(git rev-parse HEAD)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" echo "TORCHBENCH_COMMIT_ID=$(<.github/ci_commit_pins/torchbench.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" echo "TORCHVISION_COMMIT_ID=$(<.github/ci_commit_pins/vision.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" @@ -180,20 +179,12 @@ jobs: cd ../pytorch pip install cmake ninja pybind11 rm -rf pytorch_triton_xpu-*.whl - python .github/scripts/build_triton_wheel.py --device xpu --commit-hash ${TRITON_COMMIT_ID} + TRITON_VERSION_NAME="$( + curl -sSL https://raw.githubusercontent.com/intel/intel-xpu-backend-for-triton/${TRITON_COMMIT_ID}/python/triton/__init__.py 2>&1 |\ + grep '__version__' |head -n 1 |awk -F "'" '{print $2}' + )" + python .github/scripts/build_triton_wheel.py --device xpu --commit-hash ${TRITON_COMMIT_ID} --triton-version ${TRITON_VERSION_NAME} pip install pytorch_triton_xpu-*.whl - - name: Download Pytorch wheel - if: ${{ inputs.pytorch != 'nightly_wheel' }} - uses: actions/download-artifact@v4 - with: - name: Torch-XPU-Wheel-${{ github.event.pull_request.number || github.sha }} - path: ${{ github.workspace }} - - name: Install Pytorch XPU - run: | - source activate e2e_ci - cd ../pytorch - pip install -r requirements.txt - pip install --force-reinstall ${{ github.workspace }}/torch*.whl - name: Show GITHUB_ENV run: | echo "$GITHUB_ENV" diff --git a/.github/workflows/nightly_ondemand_rolling.yml b/.github/workflows/nightly_ondemand_rolling.yml index e3f1f1ca1..987f627b5 100644 --- a/.github/workflows/nightly_ondemand_rolling.yml +++ b/.github/workflows/nightly_ondemand_rolling.yml @@ -77,7 +77,6 @@ jobs: python: ${{ github.event_name == 'schedule' && '3.10' || inputs.python }} driver: rolling runner: pvc_rolling - update_lkg: 'true' Linux-Nightly-Ondemand-UT-Tests-Rolling: if: ${{ github.event_name == 'schedule' || inputs.ut != '' }} @@ -145,26 +144,26 @@ jobs: conda remove --all -y -n e2e_ci || rm -rf $(dirname ${CONDA_EXE})/../envs/e2e_ci conda create -n e2e_ci python=${{ env.python }} cmake ninja -y source activate e2e_ci - pip install pandas scipy psutil + pip install pandas scipy psutil requests + - name: Download Pytorch wheel + if: ${{ inputs.pytorch != 'nightly_wheel' }} + uses: actions/download-artifact@v4 + with: + name: Torch-XPU-Wheel-${{ github.event.pull_request.number || github.sha }} - name: Prepare Stock Pytorch run: | pwd cd ../ rm -rf pytorch || sudo rm -rf pytorch source activate e2e_ci + pip install --force-reinstall ${{ github.workspace }}/torch*.whl + TORCH_COMMIT_ID=$(python -c 'import torch; print(torch.version.git_version)') git clone https://github.com/pytorch/pytorch pytorch - cd pytorch && git checkout $(echo ${{ env.pytorch }} |awk '{print $1}') - # apply PRs for stock pytorch - pip install requests + cd pytorch + git checkout ${TORCH_COMMIT_ID} + # apply extra PRs for stock pytorch python ../torch-xpu-ops/.github/scripts/apply_torch_pr.py - git status && git show -s - if [[ ${{ env.keep_torch_xpu_ops }} == 'true' ]]; then - echo "Don't replace torch-xpu-ops!" - else - rm -rf third_party/torch-xpu-ops && cp -r ../torch-xpu-ops third_party/ - # Workaround for torch-xpu-ops ci test - sed -i "s/checkout --quiet \${TORCH_XPU_OPS_COMMIT}/log -n 1/g" caffe2/CMakeLists.txt - fi + git status && git diff && git show -s - name: Identify pinned versions id: pinned run: | @@ -175,7 +174,7 @@ jobs: else echo "TRITON_COMMIT_ID=${{ inputs.triton }}" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" fi - echo "TORCH_BRANCH_ID=$(git rev-parse --abbrev-ref HEAD)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" + echo "TORCH_BRANCH_ID=${{ inputs.pytorch }}" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" echo "TORCH_COMMIT_ID=$(git rev-parse HEAD)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" echo "TORCHBENCH_COMMIT_ID=$(<.github/ci_commit_pins/torchbench.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" echo "TORCHVISION_COMMIT_ID=$(<.github/ci_commit_pins/vision.txt)" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" @@ -196,20 +195,12 @@ jobs: cd ../pytorch pip install cmake ninja pybind11 rm -rf pytorch_triton_xpu-*.whl - python .github/scripts/build_triton_wheel.py --device xpu --commit-hash ${TRITON_COMMIT_ID} + TRITON_VERSION_NAME="$( + curl -sSL https://raw.githubusercontent.com/intel/intel-xpu-backend-for-triton/${TRITON_COMMIT_ID}/python/triton/__init__.py 2>&1 |\ + grep '__version__' |head -n 1 |awk -F "'" '{print $2}' + )" + python .github/scripts/build_triton_wheel.py --device xpu --commit-hash ${TRITON_COMMIT_ID} --triton-version ${TRITON_VERSION_NAME} pip install pytorch_triton_xpu-*.whl - - name: Download Pytorch wheel - if: ${{ inputs.pytorch != 'nightly_wheel' }} - uses: actions/download-artifact@v4 - with: - name: Torch-XPU-Wheel-${{ github.event.pull_request.number || github.sha }} - path: ${{ github.workspace }} - - name: Install Pytorch XPU - run: | - source activate e2e_ci - cd ../pytorch - pip install -r requirements.txt - pip install --force-reinstall ${{ github.workspace }}/torch*.whl - name: Show GITHUB_ENV run: | echo "$GITHUB_ENV" diff --git a/.github/workflows/nightly_ondemand_whl.yml b/.github/workflows/nightly_ondemand_whl.yml index 7e106c1fc..6c5d22416 100644 --- a/.github/workflows/nightly_ondemand_whl.yml +++ b/.github/workflows/nightly_ondemand_whl.yml @@ -102,32 +102,23 @@ jobs: conda remove --all -y -n e2e_ci || rm -rf $(dirname ${CONDA_EXE})/../envs/e2e_ci conda create -n e2e_ci python=${{ env.python }} cmake ninja -y source activate e2e_ci - pip install pandas scipy psutil + pip install pandas scipy psutil requests - name: Prepare Stock Pytorch id: installed run: | pwd + cd ../ source activate e2e_ci pip install torch torchvision torchaudio --pre --index-url https://download.pytorch.org/whl/nightly/xpu - echo "TORCH_BRANCH_ID=$(python -c 'import torch; print(torch.__version__)')" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" TORCH_COMMIT_ID=$(python -c 'import torch; print(torch.version.git_version)') + echo "TORCH_BRANCH_ID=$(python -c 'import torch; print(torch.__version__)')" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" echo "TORCH_COMMIT_ID=${TORCH_COMMIT_ID}" |tee -a "${GITHUB_OUTPUT}" >> "${GITHUB_ENV}" - cd ../ rm -rf pytorch || sudo rm -rf pytorch git clone https://github.com/pytorch/pytorch pytorch cd pytorch && git checkout ${TORCH_COMMIT_ID} # apply PRs for stock pytorch - pip install requests - git status && git show -s - pip install -r requirements.txt - TORCH_XPU_OPS_COMMIT=$(> "${GITHUB_ENV}" - rm -rf third_party/torch-xpu-ops - git clone https://github.com/intel/torch-xpu-ops.git third_party/torch-xpu-ops - cd third_party/torch-xpu-ops - git checkout ${TORCH_XPU_OPS_COMMIT} - cd ../../ python ../torch-xpu-ops/.github/scripts/apply_torch_pr.py + git status && git diff && git show -s - name: Identify pinned versions id: pinned run: | diff --git a/.github/workflows/pull.yml b/.github/workflows/pull.yml index 74b9761d2..88ecf43df 100644 --- a/.github/workflows/pull.yml +++ b/.github/workflows/pull.yml @@ -143,7 +143,6 @@ jobs: rm -rf pytorch || sudo rm -rf pytorch git clone https://github.com/pytorch/pytorch pytorch cd pytorch && git checkout ${TORCH_COMMIT_ID} - pip install -r requirements.txt # apply PRs for stock pytorch # https://github.com/pytorch/pytorch/pull/152940 internal use only for subset model list python ../torch-xpu-ops/.github/scripts/apply_torch_pr.py -e https://github.com/pytorch/pytorch/pull/152940