diff --git a/.github/workflows/build-test-reusable.yml b/.github/workflows/build-test-reusable.yml index c17d99ad04..aca94112b9 100644 --- a/.github/workflows/build-test-reusable.yml +++ b/.github/workflows/build-test-reusable.yml @@ -168,15 +168,7 @@ jobs: - name: Run E2E test run: | - # Set WORKSPACE for inductor_xpu_test.sh to make sure it creates "inductor_log" outside of pytorch cloned directory - export WORKSPACE=$GITHUB_WORKSPACE - cd pytorch - pip install pyyaml pandas scipy numpy psutil pyre_extensions torchrec - # TODO: Find the fastest Hugging Face model - $GITHUB_WORKSPACE/scripts/inductor_xpu_test.sh huggingface float32 inference accuracy xpu 0 static 1 0 AlbertForMaskedLM - # The script above always returns 0, so we need an additional check to see if the accuracy test passed - cat $WORKSPACE/inductor_log/*/*/*.csv - grep AlbertForMaskedLM $WORKSPACE/inductor_log/*/*/*.csv | grep -q ,pass, + ${{ env.TRITON_TEST_CMD }} --inductor --skip-pip-install - name: Save pip cache if: ${{ steps.pip-cache.outputs.status == 'miss' }} diff --git a/.github/workflows/conda-build-test.yml b/.github/workflows/conda-build-test.yml deleted file mode 100644 index c4f1f4ab95..0000000000 --- a/.github/workflows/conda-build-test.yml +++ /dev/null @@ -1,112 +0,0 @@ -name: Conda build and test - -on: - workflow_dispatch: - schedule: - - cron: "5 2 * * *" - -permissions: read-all - -env: - BACKEND: XPU - TRITON_DISABLE_LINE_INFO: 1 - GH_TOKEN: ${{ github.token }} - -jobs: - - integration-tests: - name: Integration tests - runs-on: - - max1100 - - rolling - - runner-0.0.19 - strategy: - matrix: - python: ${{ github.ref_name == 'main' && fromJson('["3.9", "3.10", "3.11"]') || fromJson('["3.9"]') }} - defaults: - run: - shell: bash -noprofile --norc -eo pipefail -c "source /opt/intel/oneapi/setvars.sh > /dev/null; source {0}" - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Calculate env - run: | - echo $HOME/miniforge3/bin >>$GITHUB_PATH - - - name: Load conda cache - id: conda-cache - uses: ./.github/actions/load - env: - CACHE_NUMBER: 5 - with: - path: $HOME/miniforge3/envs/triton - key: conda-py${{ matrix.python }}-${{ hashFiles('scripts/triton.yml', 'python/pyproject.toml', 'python/setup.py', '.github/pins/ipex.txt', '.github/pins/pytorch.txt') }}-${{ env.CACHE_NUMBER }} - - - name: Update conda env - if: ${{ steps.conda-cache.outputs.status == 'miss' }} - run: | - conda create -n triton --override-channels -c conda-forge python=${{ matrix.python }}.* - conda env update -f scripts/triton.yml - find /opt/intel/oneapi/ \( -name '*.so' -or -name '*.so.*' \) -exec cp -n {} $HOME/miniforge3/envs/triton/lib \; - ln -snf /usr/include/level_zero $HOME/miniforge3/envs/triton/bin/../x86_64-conda-linux-gnu/sysroot/usr/include/level_zero - find /usr -name libze_\* -exec cp -n {} $HOME/miniforge3/envs/triton/lib \; - - - name: Add conda info to log - run: | - conda info - conda list -n triton - - - name: Install latest nightly wheels - uses: ./.github/actions/install-wheels - with: - gh_token: ${{ secrets.GITHUB_TOKEN }} - install_cmd: conda run --no-capture-output -n triton pip install - python_version: ${{ matrix.python }} - wheels_pattern: 'torch-*' - - - name: Build Triton - run: | - set -x - export DEBUG=1 - cd python - conda run --no-capture-output -n triton pip install pybind11 - conda run --no-capture-output -n triton pip install --no-build-isolation -e '.[build,tests,tutorials]' - - - name: Run core tests - env: - # FIXME https://github.com/intel/intel-xpu-backend-for-triton/issues/806 - # FIXME https://github.com/intel/intel-xpu-backend-for-triton/issues/841 - TRITON_TEST_SKIPLIST_DIR: scripts/skiplist/conda - run: | - set -x - conda run --no-capture-output -n triton bash -v -x scripts/test-triton.sh - - - name: Run E2E test - run: | - cd ../pytorch || { - PYTORCH_COMMIT_ID=$(<.github/pins/pytorch.txt) - cd .. - git clone --single-branch -b dev/triton-test-3.0 --recurse-submodules https://github.com/Stonepia/pytorch.git - cd pytorch - git branch pin-branch $PYTORCH_COMMIT_ID - git switch pin-branch - } - - TRANSFORMERS_VERSION="$(<.ci/docker/ci_commit_pins/huggingface.txt)" - conda run -n triton pip install pyyaml pandas scipy numpy psutil pyre_extensions torchrec transformers==$TRANSFORMERS_VERSION - - # Set WORKSPACE for inductor_xpu_test.sh to make sure it creates "inductor_log" outside of pytorch cloned directory - export WORKSPACE=$GITHUB_WORKSPACE - # TODO: Find the fastest Hugging Face model - conda run --no-capture-output -n triton $GITHUB_WORKSPACE/scripts/inductor_xpu_test.sh huggingface float32 inference accuracy xpu 0 static 1 0 AlbertForMaskedLM - # The script above always returns 0, so we need an additional check to see if the accuracy test passed - cat $WORKSPACE/inductor_log/*/*/*.csv - grep AlbertForMaskedLM $WORKSPACE/inductor_log/*/*/*.csv | grep -q ,pass, - - - name: Save conda cache - if: ${{ steps.conda-cache.outputs.status == 'miss' }} - uses: ./.github/actions/save - with: - path: ${{ steps.conda-cache.outputs.path }} - dest: ${{ steps.conda-cache.outputs.dest }} diff --git a/.github/workflows/conda-test-reusable.yml b/.github/workflows/conda-test-reusable.yml new file mode 100644 index 0000000000..11989e8587 --- /dev/null +++ b/.github/workflows/conda-test-reusable.yml @@ -0,0 +1,203 @@ +name: Build and test reusable workflow +run-name: ${{ inputs.run_name }} - ${{ inputs.python_version }} - ${{ inputs.runner_label || 'default'}} + +on: + workflow_call: + inputs: + device: + description: Device + type: string + default: max1100 + driver_version: + description: Driver version + type: string + default: rolling + runner_label: + description: Runner label, keep empty for default + type: string + default: "" + pytorch_ref: + description: PyTorch ref, keep empty for default + type: string + default: "" + pytorch_mode: + description: PyTorch mode, source or wheels + type: string + default: "source" + python_version: + description: Python version + type: string + required: true + upload_test_reports: + description: Upload test reports + type: boolean + default: false + ignore_errors: + description: Ignore test errors + type: boolean + default: false + skip_list: + description: Skip list + type: string + default: "" + run_name: + description: Custom run name + type: string + default: Build and test + build_llvm: + description: Build LLVM + type: boolean + default: false + enable_unskip: + description: Ignore pytest.skip + type: boolean + default: false + runner_version: + description: Runner label for version + type: string + default: runner-0.0.19 + env_manager: + description: Environment manager + default: conda + type: string + +permissions: read-all + +env: + TRITON_DISABLE_LINE_INFO: 1 + TEST_UNSKIP: ${{ inputs.enable_unskip }} + +jobs: + integration-tests: + name: Integration tests + runs-on: ${{ fromJson(inputs.runner_label && format('["{0}"]', inputs.runner_label) || format('["{0}", "{1}", "{2}"]', inputs.device, inputs.driver_version, inputs.runner_version)) }} + defaults: + run: + shell: bash -noprofile --norc -eo pipefail scripts/run-${{ inputs.env_manager }}.sh {0} + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Load conda cache + id: conda-cache + uses: ./.github/actions/load + env: + CACHE_NUMBER: 6 + with: + path: $HOME/miniforge3/envs/triton + key: conda-${{ inputs.env_manager }}-py${{ matrix.python }}-${{ hashFiles('scripts/triton.yml', 'python/pyproject.toml', 'python/setup.py') }}-${{ env.CACHE_NUMBER }} + + - name: Install Manager Environment + shell: bash --noprofile --norc -eo pipefail {0} + run: | + scripts/install-${{ inputs.env_manager }}.sh --python-version ${{ inputs.python_version }} + echo $HOME/miniforge3/bin >>$GITHUB_PATH + + - name: Print inputs + run: | + cat < pass_rate.json + python3 scripts/pass_rate.py --reports reports --suite tutorials --json ${{ env.SKIPLIST }} > pass_rate_tutorials.json + + - name: Report environment details + run: | + source ./scripts/capture-hw-details.sh --quiet + cat < $TRITON_TEST_REPORTS_DIR/cmplr_version.txt echo "$MKLROOT" > $TRITON_TEST_REPORTS_DIR/mkl_version.txt + set -u # Exit script execution as long as one of those components is not found. local TRITON_COMMIT="" diff --git a/scripts/run-conda.sh b/scripts/run-conda.sh new file mode 100755 index 0000000000..1e26fa1b60 --- /dev/null +++ b/scripts/run-conda.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +source /opt/intel/oneapi/setvars.sh >/dev/null + +script_dir=$(dirname "$0") +source "$script_dir/env-util.sh" + +export PATH="$HOME/miniforge3/bin:$PATH" + +conda run --no-capture-output -n triton bash "$script_name" diff --git a/scripts/skiplist/conda/instrumentation.txt b/scripts/skiplist/conda/instrumentation.txt new file mode 100644 index 0000000000..aa206707a1 --- /dev/null +++ b/scripts/skiplist/conda/instrumentation.txt @@ -0,0 +1 @@ +test/unit/instrumentation/test_gpuhello diff --git a/scripts/skiplist/conda/interpreter.txt b/scripts/skiplist/conda/interpreter.txt new file mode 100644 index 0000000000..b1f075cc6a --- /dev/null +++ b/scripts/skiplist/conda/interpreter.txt @@ -0,0 +1,61 @@ +test/unit/language/test_core.py::test_bin_op[1-uint8-uint32-%] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint64-/] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint64-%] +test/unit/language/test_core.py::test_floordiv[1-uint8-uint8] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint8-%] +test/unit/language/test_core.py::test_floordiv[1-uint8-uint16] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint16-%] +test/unit/language/test_core.py::test_floordiv[1-uint8-uint32] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint32-%] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint64-%] +test/unit/language/test_core.py::test_floordiv[1-uint8-uint64] +test/unit/language/test_core.py::test_floordiv[1-uint16-uint8] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint8-%] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint16-%] +test/unit/language/test_core.py::test_floordiv[1-uint16-uint16] +test/unit/language/test_core.py::test_floordiv[1-uint16-uint32] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint32-%] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint8-/] +test/unit/language/test_core.py::test_floordiv[1-uint16-uint64] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint64-%] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint16-/] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint32-/] +test/unit/language/test_core.py::test_floordiv[1-uint32-uint8] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint8-%] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint64-/] +test/unit/language/test_core.py::test_floordiv[1-uint32-uint16] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint16-%] +test/unit/language/test_core.py::test_floordiv[1-uint32-uint32] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint8-/] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint32-%] +test/unit/language/test_core.py::test_floordiv[1-uint32-uint64] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint16-/] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint64-%] +test/unit/language/test_core.py::test_floordiv[1-uint64-uint8] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint32-/] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint64-/] +test/unit/language/test_core.py::test_floordiv[1-uint64-uint16] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint8-%] +test/unit/language/test_core.py::test_floordiv[1-uint64-uint32] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int8-32] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint16-%] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint8-/] +test/unit/language/test_core.py::test_floordiv[1-uint64-uint64] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int8-64] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint16-/] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int8-128] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint32-/] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int8-512] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint64-/] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int16-32] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint8-/] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int16-64] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int16-128] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint16-/] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint32-/] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int16-512] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int32-32] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int32-64] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int32-128] +test/unit/language/test_core.py::test_reduce1d[4-1-1-sum-int32-512] +test/unit/language/test_core.py::test_load_cache_modifier[.cv] diff --git a/scripts/skiplist/conda/language.txt b/scripts/skiplist/conda/language.txt index cdac848de1..b540a2a877 100644 --- a/scripts/skiplist/conda/language.txt +++ b/scripts/skiplist/conda/language.txt @@ -1,3 +1,118 @@ +# LTS failures +test/unit/language/test_core.py::test_dot[1-64-128-128-4-True-True-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-True-True-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-False-True-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-False-True-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-True-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-True-True-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-True-True-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-True-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-True-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-True-True-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-True-True-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-True-False-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-True-False-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-True-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-True-False-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-True-False-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-True-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-True-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-True-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-True-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-True-none-tf32-float32-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-True-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-True-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-True-none-tf32-float32-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-False-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-False-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-False-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-False-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-False-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-False-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-False-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-False-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-True-True-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-True-True-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-True-False-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-False-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-True-False-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-False-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-True-False-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-True-False-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-False-none-tf32-float32-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-True-False-none-tf32-float32-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-False-True-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-True-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-False-True-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-False-False-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-False-False-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-True-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-False-False-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-4-False-False-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-True-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-True-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-True-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-True-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-True-none-tf32-float32-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-True-none-tf32-float32-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-False-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-False-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-False-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-False-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-False-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-False-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-False-none-tf32-float32-float32-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-2-False-False-none-tf32-float32-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-True-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-True-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-True-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-True-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-True-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-True-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-True-none-tf32-float32-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-True-none-tf32-float32-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-False-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-False-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-False-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-False-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-False-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-False-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-False-none-tf32-float32-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-True-False-none-tf32-float32-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-True-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-True-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-True-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-True-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-True-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-True-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-True-none-tf32-float32-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-True-none-tf32-float32-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-False-none-tf32-int8-int8-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-False-none-tf32-int8-int8-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-False-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-False-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-False-none-tf32-float16-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-False-none-tf32-float16-float32-1_1] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-False-none-tf32-float32-float32-1_0] +test/unit/language/test_core.py::test_dot[1-64-128-128-2-False-False-none-tf32-float32-float32-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-False-chain-dot-ieee-float8e5-float32-1] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-False-chain-dot-ieee-float8e4nv-float32-1] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-True-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-True-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-False-none-tf32-float16-float16-1_0] +test/unit/language/test_core.py::test_dot[1-128-128-64-4-False-False-none-tf32-float16-float16-1_1] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[0-float8e5-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[32-float8e5-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[128-float8e4nv-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[0-float8e4nv-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[32-float8e4nv-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[128-float8e4b15-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[0-float8e4b15-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[32-float8e4b15-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[64-float8e5-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[64-float8e4nv-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[64-float8e4b15-128-256-128-128-256-256] +test/unit/language/test_core.py::test_dot_max_num_imprecise_acc[128-float8e5-128-256-128-128-256-256] # https://github.com/intel/intel-xpu-backend-for-triton/issues/1434 test/unit/language/test_core.py::test_precise_math[1-tl.math.sqrt_rn(x)-tl.math.sqrt(x.to(tl.float64)).to(tl.float32)] test/unit/language/test_core.py::test_dot3d[1-1-32-32-32-32-32-float16-float16] @@ -161,3 +276,67 @@ test/unit/language/test_core.py::test_dot3d[8-8-64-64-64-32-32-float16-float16] test/unit/language/test_core.py::test_dot3d[8-8-64-64-64-32-32-float16-float32] test/unit/language/test_core.py::test_dot3d[8-8-64-64-64-32-32-float32-float32] test/unit/language/test_core.py::test_dot3d[8-8-64-64-64-32-32-int8-int8] +test/unit/language/test_core.py::test_precise_math[1-tl.math.sqrt_rn(x)-tl.math.sqrt(x.to(tl.float64)).to(tl.float32)] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint8-%] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint16-%] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint32-%] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint64-%] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint8-%] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint16-%] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint32-%] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint64-%] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint8-%] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint16-%] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint32-%] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint64-%] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint8-%] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint16-%] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint32-%] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint64-%] +test/unit/language/test_compile_errors.py::test_where_warning +test/unit/language/test_compile_errors.py::test_fp8_support[dtype1] +test/unit/language/test_compile_errors.py::test_fp8_support[dtype3] +test/unit/language/test_conversions.py::test_typeconvert_upcast[float8e4b8-float32] +test/unit/language/test_conversions.py::test_typeconvert_upcast[float8e4b8-float16] +test/unit/language/test_conversions.py::test_typeconvert_upcast[float8e5b16-float32] +test/unit/language/test_conversions.py::test_typeconvert_upcast[float8e5b16-float16] +test/unit/language/test_core.py::test_floordiv[1-uint8-uint8] +test/unit/language/test_core.py::test_floordiv[1-uint8-uint16] +test/unit/language/test_core.py::test_floordiv[1-uint8-uint32] +test/unit/language/test_core.py::test_floordiv[1-uint8-uint64] +test/unit/language/test_core.py::test_floordiv[1-uint16-uint8] +test/unit/language/test_core.py::test_floordiv[1-uint16-uint16] +test/unit/language/test_core.py::test_floordiv[1-uint16-uint32] +test/unit/language/test_core.py::test_floordiv[1-uint16-uint64] +test/unit/language/test_core.py::test_floordiv[1-uint32-uint8] +test/unit/language/test_core.py::test_floordiv[1-uint32-uint16] +test/unit/language/test_core.py::test_floordiv[1-uint32-uint32] +test/unit/language/test_core.py::test_floordiv[1-uint32-uint64] +test/unit/language/test_core.py::test_floordiv[1-uint64-uint8] +test/unit/language/test_core.py::test_floordiv[1-uint64-uint16] +test/unit/language/test_core.py::test_floordiv[1-uint64-uint32] +test/unit/language/test_core.py::test_floordiv[1-uint64-uint64] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint8-/] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint16-/] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint32-/] +test/unit/language/test_core.py::test_bin_op[1-uint8-uint64-/] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint8-/] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint16-/] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint32-/] +test/unit/language/test_core.py::test_bin_op[1-uint16-uint64-/] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint8-/] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint16-/] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint32-/] +test/unit/language/test_core.py::test_bin_op[1-uint32-uint64-/] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint8-/] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint16-/] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint32-/] +test/unit/language/test_core.py::test_bin_op[1-uint64-uint64-/] +test/unit/language/test_core.py::test_load_cache_modifier[.cv] +test/unit/language/test_core.py::test_const[ternary-False-True] +test/unit/language/test_core.py::test_const[ternary-False-False] +test/unit/language/test_core.py::test_const[if-False-True] +test/unit/language/test_core.py::test_const[if-False-False] +test/unit/language/test_core.py::test_unroll_attr +test/unit/language/test_decorator.py::test_triton_heuristic +test/unit/language/test_core.py::test_constexpr_if_return diff --git a/scripts/skiplist/conda/regression.txt b/scripts/skiplist/conda/regression.txt new file mode 100644 index 0000000000..8641b2f4ae --- /dev/null +++ b/scripts/skiplist/conda/regression.txt @@ -0,0 +1 @@ +test/regression/test_functional_regressions.py::test_reverse_range diff --git a/scripts/skiplist/conda/runtime.txt b/scripts/skiplist/conda/runtime.txt new file mode 100644 index 0000000000..0f1d1cb4fb --- /dev/null +++ b/scripts/skiplist/conda/runtime.txt @@ -0,0 +1,7 @@ +test/unit/runtime/test_bindings.py::test_module_walk +test/unit/runtime/test_autotuner.py::test_kwargs[False] +test/unit/runtime/test_autotuner.py::test_restore +test/unit/runtime/test_autotuner.py::test_hooks +test/unit/runtime/test_autotuner.py::test_prune_configs[False] +test/unit/runtime/test_autotuner.py::test_prune_configs[True] +test/unit/runtime/test_cache.py::test_jit_debug diff --git a/scripts/skiplist/conda/subprocess.txt b/scripts/skiplist/conda/subprocess.txt index 6f0ada5109..8895b4638b 100644 --- a/scripts/skiplist/conda/subprocess.txt +++ b/scripts/skiplist/conda/subprocess.txt @@ -1,9 +1,6 @@ -# https://github.com/intel/intel-xpu-backend-for-triton/issues/800 -test/unit/language/test_subprocess.py::test_print[device_print-float16] +test/unit/language/test_subprocess.py::test_print[device_print_scalar-float32] test/unit/language/test_subprocess.py::test_print[device_print-float32] -test/unit/language/test_subprocess.py::test_print[device_print-float64] test/unit/language/test_subprocess.py::test_print[device_print_scalar-float16] +test/unit/language/test_subprocess.py::test_print[device_print-float16] test/unit/language/test_subprocess.py::test_print[device_print_scalar-float64] -test/unit/language/test_subprocess.py::test_print[device_print_scalar-float32] -# https://github.com/intel/intel-xpu-backend-for-triton/issues/1704 -test/unit/language/test_subprocess.py::test_print[device_print_uint-uint32] +test/unit/language/test_subprocess.py::test_print[device_print-float64] diff --git a/scripts/skiplist/no-basekit/tutorials.txt b/scripts/skiplist/conda/tutorials.txt similarity index 100% rename from scripts/skiplist/no-basekit/tutorials.txt rename to scripts/skiplist/conda/tutorials.txt diff --git a/scripts/skiplist/no-basekit/language.txt b/scripts/skiplist/no-basekit/language.txt deleted file mode 100644 index f6da599e95..0000000000 --- a/scripts/skiplist/no-basekit/language.txt +++ /dev/null @@ -1,162 +0,0 @@ -test/unit/language/test_core.py::test_precise_math[1-tl.math.sqrt_rn(x)-tl.math.sqrt(x.to(tl.float64)).to(tl.float32)] -test/unit/language/test_core.py::test_dot3d[1-1-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-1-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-1-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-1-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-1-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-1-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-1-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-1-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-16-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-16-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-16-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-16-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-16-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-16-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-16-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-16-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-2-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-2-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-2-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-2-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-2-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-2-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-2-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-2-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-4-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-4-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-4-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-4-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-4-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-4-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-4-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-4-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-8-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-8-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-8-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-8-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[1-8-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[1-8-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[1-8-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[1-8-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-1-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-1-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-1-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-1-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-1-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-1-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-1-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-1-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-16-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-16-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-16-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-16-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-16-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-16-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-16-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-16-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-2-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-2-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-2-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-2-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-2-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-2-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-2-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-2-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-4-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-4-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-4-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-4-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-4-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-4-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-4-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-4-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-8-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-8-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-8-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-8-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[2-8-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[2-8-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[2-8-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[2-8-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-1-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-1-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-1-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-1-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-1-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-1-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-1-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-1-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-16-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-16-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-16-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-16-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-16-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-16-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-16-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-16-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-2-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-2-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-2-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-2-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-2-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-2-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-2-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-2-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-4-128-128-64-64-64-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-4-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-4-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-4-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-4-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-4-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-4-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-4-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-4-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-8-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-8-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-8-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-8-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[4-8-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[4-8-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[4-8-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[4-8-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-1-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-1-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-1-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-1-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-1-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-1-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-1-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-1-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-16-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-16-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-16-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-16-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-16-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-16-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-16-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-16-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-2-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-2-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-2-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-2-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-2-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-2-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-2-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-2-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-4-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-4-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-4-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-4-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-4-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-4-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-4-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-4-64-64-64-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-8-32-32-32-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-8-32-32-32-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-8-32-32-32-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-8-32-32-32-32-32-int8-int8] -test/unit/language/test_core.py::test_dot3d[8-8-64-64-64-32-32-float16-float16] -test/unit/language/test_core.py::test_dot3d[8-8-64-64-64-32-32-float16-float32] -test/unit/language/test_core.py::test_dot3d[8-8-64-64-64-32-32-float32-float32] -test/unit/language/test_core.py::test_dot3d[8-8-64-64-64-32-32-int8-int8] diff --git a/scripts/skiplist/no-basekit/regression.txt b/scripts/skiplist/no-basekit/regression.txt deleted file mode 100644 index 43d097f565..0000000000 --- a/scripts/skiplist/no-basekit/regression.txt +++ /dev/null @@ -1,6 +0,0 @@ -test/regression/test_functional_regressions.py::test_chained_matmul -test/regression/test_functional_regressions.py::test_iv_dependent_matmul[pre_load] -test/regression/test_functional_regressions.py::test_iv_dependent_matmul[post_load] -test/regression/test_functional_regressions.py::test_iv_dependent_matmul[post_pre_mixed] -test/regression/test_functional_regressions.py::test_iv_dependent_matmul[post_load_two_iters] -test/regression/test_functional_regressions.py::test_iv_dependent_matmul[post_load_three_iters] diff --git a/scripts/skiplist/no-basekit/subprocess.txt b/scripts/skiplist/no-basekit/subprocess.txt deleted file mode 100644 index 6f0ada5109..0000000000 --- a/scripts/skiplist/no-basekit/subprocess.txt +++ /dev/null @@ -1,9 +0,0 @@ -# https://github.com/intel/intel-xpu-backend-for-triton/issues/800 -test/unit/language/test_subprocess.py::test_print[device_print-float16] -test/unit/language/test_subprocess.py::test_print[device_print-float32] -test/unit/language/test_subprocess.py::test_print[device_print-float64] -test/unit/language/test_subprocess.py::test_print[device_print_scalar-float16] -test/unit/language/test_subprocess.py::test_print[device_print_scalar-float64] -test/unit/language/test_subprocess.py::test_print[device_print_scalar-float32] -# https://github.com/intel/intel-xpu-backend-for-triton/issues/1704 -test/unit/language/test_subprocess.py::test_print[device_print_uint-uint32] diff --git a/scripts/test-triton.sh b/scripts/test-triton.sh index 3a62421b7f..40f417db72 100755 --- a/scripts/test-triton.sh +++ b/scripts/test-triton.sh @@ -19,6 +19,7 @@ TEST_BENCHMARK_SOFTMAX=false TEST_BENCHMARK_GEMM=false TEST_BENCHMARK_ATTENTION=false TEST_INSTRUMENTATION=false +TEST_INDUCTOR=false VENV=false TRITON_TEST_REPORTS=false TRITON_TEST_WARNING_REPORTS=false @@ -68,6 +69,10 @@ while [ -v 1 ]; do TEST_INSTRUMENTATION=true shift ;; + --inductor) + TEST_INDUCTOR=true + shift + ;; --venv) VENV=true shift @@ -111,7 +116,7 @@ while [ -v 1 ]; do done # Only run interpreter test when $TEST_INTERPRETER is true -if [ "$TEST_UNIT" = false ] && [ "$TEST_CORE" = false ] && [ "$TEST_INTERPRETER" = false ] && [ "$TEST_TUTORIAL" = false ] && [ "$TEST_MICRO_BENCHMARKS" = false ] && [ "$TEST_BENCHMARK_SOFTMAX" = false ] && [ "$TEST_BENCHMARK_GEMM" = false ] && [ "$TEST_BENCHMARK_ATTENTION" = false ] && [ "$TEST_INSTRUMENTATION" = false ]; then +if [ "$TEST_UNIT" = false ] && [ "$TEST_CORE" = false ] && [ "$TEST_INTERPRETER" = false ] && [ "$TEST_TUTORIAL" = false ] && [ "$TEST_MICRO_BENCHMARKS" = false ] && [ "$TEST_BENCHMARK_SOFTMAX" = false ] && [ "$TEST_BENCHMARK_GEMM" = false ] && [ "$TEST_BENCHMARK_ATTENTION" = false ] && [ "$TEST_INSTRUMENTATION" = false ] && [ "$TEST_INDUCTOR" = false ]; then TEST_UNIT=true TEST_CORE=true TEST_TUTORIAL=true @@ -298,7 +303,7 @@ run_instrumentation_tests() { return fi - INSTRUMENTATION_LIB_DIR=$(ls -1d $TRITON_PROJ/python/build/*lib*/triton/instrumentation) || err "Could not find $TRITON_PROJ/python/build/*lib*/triton/instrumentation, build Triton first" + INSTRUMENTATION_LIB_DIR=$(ls -1d $TRITON_PROJ/python/build/*lib*/triton/instrumentation) || SHARED_LIB_DIR=$(ls -1d $TRITON_PROJ/python/triton/_C) || err "Could not find $TRITON_PROJ/python/build/*lib*/triton/instrumentation, build Triton first" cd $TRITON_PROJ/python/test/unit @@ -307,6 +312,22 @@ run_instrumentation_tests() { pytest -vvv --device xpu instrumentation/test_gpuhello.py } +run_inductor_tests() { + test -d pytorch || ( + git clone https://github.com/pytorch/pytorch + rev=$(cat .github/pins/pytorch-upstream.txt) + cd pytorch + git checkout $rev + ) + + pip install pyyaml pandas scipy numpy psutil pyre_extensions torchrec + + ZE_AFFINITY_MASK=0 python pytorch/benchmarks/dynamo/huggingface.py --accuracy --float32 -dxpu -n10 --no-skip --dashboard --inference --freezing --total-partitions 1 --partition-id 0 --only AlbertForMaskedLM --backend=inductor --timeout=4800 --output=$(pwd -P)/inductor_log.csv + + cat inductor_log.csv + grep AlbertForMaskedLM inductor_log.csv | grep -q ,pass, +} + test_triton() { if [ "$TEST_UNIT" = true ]; then run_unit_tests @@ -336,6 +357,9 @@ test_triton() { if [ "$TEST_INSTRUMENTATION" == true ]; then run_instrumentation_tests fi + if [ "$TEST_INDUCTOR" == true ]; then + run_inductor_tests + fi } install_deps