-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
75 changed files
with
8,060 additions
and
647 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
name: inductor-xpu-ut-test | ||
|
||
on: | ||
workflow_call: | ||
inputs: | ||
torch_xpu_ops_update: | ||
required: false | ||
type: string | ||
default: 'true' | ||
description: True means update xpu_ops when building pytorch, otherwise means not | ||
ut_suite: | ||
required: true | ||
type: string | ||
default: 'op_example,op_extended,op_ut,torch_xpu' | ||
description: op_example,op_extended,op_ut,torch_xpu. Delimiter is comma | ||
pytorch_branch: | ||
required: false | ||
type: string | ||
default: 'main' | ||
description: Set pytorch branch | ||
runner: | ||
required: true | ||
type: string | ||
default: 'linux.idc.xpu' | ||
description: Set runner | ||
|
||
|
||
jobs: | ||
Inductor-XPU-UT-Tests: | ||
runs-on: ${{ inputs.runner }} | ||
timeout-minutes: 900 | ||
steps: | ||
- name: Checkout torch-xpu-ops | ||
uses: actions/checkout@v4 | ||
- name: Prepare Stock Pytorch | ||
run: | | ||
pwd | ||
cd ../ && rm -rf pytorch | ||
git clone -b ${{ inputs.pytorch_branch }} https://github.com/pytorch/pytorch | ||
cd pytorch && git log -n 1 && git submodule sync && git submodule update --init --recursive | ||
if [ -z ${{ inputs.torch_xpu_ops_update }} ]; then | ||
rm -rf third_party/torch-xpu-ops && cp -r ../torch-xpu-ops third_party/ | ||
else | ||
if [[ ${{ inputs.torch_xpu_ops_update }} == 'true' ]]; then | ||
rm -rf third_party/torch-xpu-ops && cp -r ../torch-xpu-ops third_party/ | ||
else | ||
echo "Not update torch-xpu-ops" | ||
fi | ||
fi | ||
# Workaround for torch-xpu-ops ci test | ||
sed -i "s/checkout --quiet \${TORCH_XPU_OPS_COMMIT}/log -n 1/g" caffe2/CMakeLists.txt | ||
- name: Build Pytorch XPU | ||
run: | | ||
which conda && conda clean -ay | ||
conda remove --all -y -n xpu_op_${ZE_AFFINITY_MASK} || \ | ||
rm -rf $(dirname ${CONDA_EXE})/../envs/xpu_op_${ZE_AFFINITY_MASK} | ||
conda create -n xpu_op_${ZE_AFFINITY_MASK} python=3.10 cmake ninja -y | ||
source activate xpu_op_${ZE_AFFINITY_MASK} | ||
conda install -c intel mkl-static mkl-include -y | ||
cd ../pytorch | ||
pip install -r requirements.txt | ||
export USE_XPU=1 | ||
source /opt/intel/oneapi/compiler/latest/env/vars.sh | ||
export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"} | ||
python setup.py bdist_wheel | ||
pip install --force-reinstall dist/*.whl | ||
git clone https://github.com/pytorch/vision && cd vision && python setup.py install && cd .. | ||
pip install -r .ci/docker/requirements-ci.txt | ||
- name: Run XPU OP Examples | ||
if: contains(inputs.ut_suite, 'op_example') | ||
run: | | ||
cd ${{ github.workspace }} | ||
mkdir -p ut_log | ||
xpu-smi discovery | ||
source /opt/intel/oneapi/compiler/latest/env/vars.sh | ||
source activate xpu_op_${ZE_AFFINITY_MASK} | ||
cd ${{ github.workspace }} | ||
cd examples | ||
pip install pytest | ||
timeout 8000 pytest -v | ||
- name: Run XPU OP Extended UT | ||
if: contains(inputs.ut_suite, 'op_extended') | ||
run: | | ||
source /opt/intel/oneapi/compiler/latest/env/vars.sh | ||
source activate xpu_op_${ZE_AFFINITY_MASK} | ||
export PYTORCH_TEST_WITH_SLOW=1 | ||
cd ../pytorch/third_party/torch-xpu-ops/test/xpu/extended/ | ||
timeout 10000 python run_test_with_skip.py | ||
- name: Run XPU OP UT | ||
if: contains(inputs.ut_suite, 'op_ut') | ||
run: | | ||
source /opt/intel/oneapi/compiler/latest/env/vars.sh | ||
source activate xpu_op_${ZE_AFFINITY_MASK} | ||
export PYTORCH_ENABLE_XPU_FALLBACK=1 | ||
export PYTORCH_TEST_WITH_SLOW=1 | ||
cd ../pytorch/third_party/torch-xpu-ops/test/xpu | ||
timeout 10000 python run_test_with_skip.py | ||
# Cases run with a on-demand white list, since some suites are too | ||
# slow to go through all operators on CPU. So add cases on-demand | ||
# when XPU implementatoin is done. | ||
# test_foreach, test_decomp | ||
timeout 10000 python run_test_with_only.py | ||
- name: Run Torch XPU UT | ||
if: contains(inputs.ut_suite, 'torch_xpu') | ||
run: | | ||
source /opt/intel/oneapi/compiler/latest/env/vars.sh | ||
source activate xpu_op_${ZE_AFFINITY_MASK} | ||
cd ../pytorch | ||
TEST_REPORTS_DIR=$(pwd)/test/test-reports | ||
rm -rf "$TEST_REPORTS_DIR" && mkdir -p "$TEST_REPORTS_DIR" | ||
# Run Pytorch XPU binary UT | ||
for xpu_case in build/bin/*{xpu,sycl}*; do | ||
if [[ "$xpu_case" != *"*"* && "$xpu_case" != *.so && "$xpu_case" != *.a ]]; then | ||
case_name=$(basename "$xpu_case") | ||
echo "Testing ${case_name} ..." | ||
"$xpu_case" --gtest_output=xml:"$TEST_REPORTS_DIR"/"$case_name".xml | ||
fi | ||
done | ||
# Run Pytorch XPU python UT | ||
export PYTORCH_ENABLE_XPU_FALLBACK=1 | ||
sed -i 's/selected_tests = exclude_tests(XPU_BLOCKLIST.*/selected_tests = XPU_TEST/g' ./test/run_test.py | ||
python test/run_test.py --xpu | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.