Skip to content

test future tensorrt version in windows wf #4

test future tensorrt version in windows wf

test future tensorrt version in windows wf #4

name: Build and Test Torch-TensorRT on Windows with Future TensorRT Versions
on:
pull_request:
workflow_dispatch:
permissions:
id-token: write
contents: read
packages: write
jobs:
generate-matrix:
uses: pytorch/test-infra/.github/workflows/generate_binary_build_matrix.yml@main
with:
package-type: wheel
os: windows
test-infra-repository: pytorch/test-infra
test-infra-ref: main
with-rocm: false
with-cpu: false
generate-tensorrt-matrix:
needs: [generate-matrix]
outputs:
matrix: ${{ steps.generate.outputs.matrix }}
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- uses: actions/checkout@v3
with:
repository: pytorch/tensorrt
- name: Generate tensorrt matrix
id: generate
run: |
set -eou pipefail
MATRIX_BLOB=${{ toJSON(needs.generate-matrix.outputs.matrix) }}
MATRIX_BLOB="$(python3 .github/scripts/generate-tensorrt-test-matrix.py --matrix "${MATRIX_BLOB}")"
echo "${MATRIX_BLOB}"
echo "matrix=${MATRIX_BLOB}" >> "${GITHUB_OUTPUT}"
substitute-runner:
needs: generate-tensorrt-matrix
outputs:
matrix: ${{ steps.substitute.outputs.matrix }}
runs-on: ubuntu-latest
steps:
- name: Substitute runner
id: substitute
run: |
echo matrix="$(echo '${{ needs.generate-tensorrt-matrix.outputs.matrix }}' | sed -e 's/windows.g4dn.xlarge/windows.g5.4xlarge.nvidia.gpu/g')" >> ${GITHUB_OUTPUT}
build:
needs: substitute-runner
name: Build torch-tensorrt whl package
strategy:
fail-fast: false
matrix:
include:
- repository: pytorch/tensorrt
pre-script: packaging/pre_build_script_windows.sh
env-script: packaging/vc_env_helper.bat
smoke-test-script: packaging/smoke_test_windows.py
package-name: torch_tensorrt
uses: ./.github/workflows/build-tensorrt-windows.yml
with:
repository: ${{ matrix.repository }}
ref: ""
test-infra-repository: pytorch/test-infra
test-infra-ref: main
build-matrix: ${{ needs.substitute-runner.outputs.matrix }}
pre-script: ${{ matrix.pre-script }}
env-script: ${{ matrix.env-script }}
smoke-test-script: ${{ matrix.smoke-test-script }}
package-name: ${{ matrix.package-name }}
trigger-event: ${{ github.event_name }}
timeout: 120
tests-py-torchscript-fe:
name: Test torchscript frontend [Python]
needs: [substitute-runner, build]
strategy:
fail-fast: false
matrix:
include:
- repository: pytorch/tensorrt
package-name: torch_tensorrt
uses: ./.github/workflows/windows-test.yml
with:
job-name: tests-py-torchscript-fe
repository: ${{ matrix.repository }}
ref: ""
test-infra-repository: pytorch/test-infra
test-infra-ref: main
build-matrix: ${{ needs.substitute-runner.outputs.matrix }}
pre-script: packaging/driver_upgrade.bat
script: |
set -x
export USE_HOST_DEPS=1
export CI_BUILD=1
pushd .
cd tests/modules
python -c "import torch; print(torch.cuda.is_available())"
python -c "import torch; print(torch.cuda.get_device_name(0))"
python -c "import torch; print(torch.cuda.get_device_properties(0))"
python hub.py
popd
pushd .
cd tests/py/ts
python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_api_test_results.xml api/
python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_models_test_results.xml models/
python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/ts_integrations_test_results.xml integrations/
popd
# tests-py-dynamo-converters:
# name: Test dynamo converters [Python]
# needs: [generate-tensorrt-matrix, build]
# strategy:
# fail-fast: false
# matrix:
# include:
# - repository: pytorch/tensorrt
# package-name: torch_tensorrt
# pre-script: packaging/pre_build_script.sh
# post-script: packaging/post_build_script.sh
# smoke-test-script: packaging/smoke_test_script.sh
# uses: ./.github/workflows/linux-test.yml
# with:
# job-name: tests-py-dynamo-converters
# repository: "pytorch/tensorrt"
# ref: ""
# test-infra-repository: pytorch/test-infra
# test-infra-ref: main
# build-matrix: ${{ needs.generate-tensorrt-matrix.outputs.matrix }}
# pre-script: ${{ matrix.pre-script }}
# script: |
# export USE_HOST_DEPS=1
# export CI_BUILD=1
# pushd .
# cd tests/py/dynamo
# python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dynamo_converters_test_results.xml -n 8 conversion/
# popd
# tests-py-dynamo-fe:
# name: Test dynamo frontend [Python]
# needs: [generate-tensorrt-matrix, build]
# strategy:
# fail-fast: false
# matrix:
# include:
# - repository: pytorch/tensorrt
# package-name: torch_tensorrt
# pre-script: packaging/pre_build_script.sh
# post-script: packaging/post_build_script.sh
# smoke-test-script: packaging/smoke_test_script.sh
# uses: ./.github/workflows/linux-test.yml
# with:
# job-name: tests-py-dynamo-fe
# repository: "pytorch/tensorrt"
# ref: ""
# test-infra-repository: pytorch/test-infra
# test-infra-ref: main
# build-matrix: ${{ needs.generate-tensorrt-matrix.outputs.matrix }}
# pre-script: ${{ matrix.pre-script }}
# script: |
# export USE_HOST_DEPS=1
# export CI_BUILD=1
# pushd .
# cd tests/py/dynamo
# python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/dyn_models_export.xml --ir dynamo models/
# popd
# tests-py-dynamo-serde:
# name: Test dynamo export serde [Python]
# needs: [generate-tensorrt-matrix, build]
# strategy:
# fail-fast: false
# matrix:
# include:
# - repository: pytorch/tensorrt
# package-name: torch_tensorrt
# pre-script: packaging/pre_build_script.sh
# post-script: packaging/post_build_script.sh
# smoke-test-script: packaging/smoke_test_script.sh
# uses: ./.github/workflows/linux-test.yml
# with:
# job-name: tests-py-dynamo-serde
# repository: "pytorch/tensorrt"
# ref: ""
# test-infra-repository: pytorch/test-infra
# test-infra-ref: main
# build-matrix: ${{ needs.generate-tensorrt-matrix.outputs.matrix }}
# pre-script: ${{ matrix.pre-script }}
# script: |
# export USE_HOST_DEPS=1
# export CI_BUILD=1
# pushd .
# cd tests/py/dynamo
# python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/export_serde_test_results.xml --ir dynamo models/test_export_serde.py
# popd
# tests-py-torch-compile-be:
# name: Test torch compile backend [Python]
# needs: [generate-tensorrt-matrix, build]
# strategy:
# fail-fast: false
# matrix:
# include:
# - repository: pytorch/tensorrt
# package-name: torch_tensorrt
# pre-script: packaging/pre_build_script.sh
# post-script: packaging/post_build_script.sh
# smoke-test-script: packaging/smoke_test_script.sh
# uses: ./.github/workflows/linux-test.yml
# with:
# job-name: tests-py-torch-compile-be
# repository: "pytorch/tensorrt"
# ref: ""
# test-infra-repository: pytorch/test-infra
# test-infra-ref: main
# build-matrix: ${{ needs.generate-tensorrt-matrix.outputs.matrix }}
# pre-script: ${{ matrix.pre-script }}
# script: |
# export USE_HOST_DEPS=1
# export CI_BUILD=1
# pushd .
# cd tests/py/dynamo
# python -m pytest -ra -n 10 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_be_test_results.xml backend/
# python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_complete_be_e2e_test_results.xml --ir torch_compile models/test_models.py
# python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/torch_compile_dyn_models_export.xml --ir torch_compile models/test_dyn_models.py
# popd
# tests-py-dynamo-core:
# name: Test dynamo core [Python]
# needs: [generate-tensorrt-matrix, build]
# strategy:
# fail-fast: false
# matrix:
# include:
# - repository: pytorch/tensorrt
# package-name: torch_tensorrt
# pre-script: packaging/pre_build_script.sh
# post-script: packaging/post_build_script.sh
# smoke-test-script: packaging/smoke_test_script.sh
# uses: ./.github/workflows/linux-test.yml
# with:
# job-name: tests-py-dynamo-core
# repository: "pytorch/tensorrt"
# ref: ""
# test-infra-repository: pytorch/test-infra
# test-infra-ref: main
# build-matrix: ${{ needs.generate-tensorrt-matrix.outputs.matrix }}
# pre-script: ${{ matrix.pre-script }}
# script: |
# export USE_HOST_DEPS=1
# export CI_BUILD=1
# pushd .
# cd tests/py/dynamo
# python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_test_results.xml --ignore runtime/test_002_cudagraphs_py.py --ignore runtime/test_002_cudagraphs_cpp.py runtime/
# python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_partitioning_test_results.xml partitioning/
# python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_lowering_test_results.xml lowering/
# popd
# tests-py-dynamo-cudagraphs:
# name: Test dynamo cudagraphs [Python]
# needs: [generate-tensorrt-matrix, build]
# strategy:
# fail-fast: false
# matrix:
# include:
# - repository: pytorch/tensorrt
# package-name: torch_tensorrt
# pre-script: packaging/pre_build_script.sh
# post-script: packaging/post_build_script.sh
# smoke-test-script: packaging/smoke_test_script.sh
# uses: ./.github/workflows/linux-test.yml
# with:
# job-name: tests-py-dynamo-cudagraphs
# repository: "pytorch/tensorrt"
# ref: ""
# test-infra-repository: pytorch/test-infra
# test-infra-ref: main
# build-matrix: ${{ needs.generate-tensorrt-matrix.outputs.matrix }}
# pre-script: ${{ matrix.pre-script }}
# script: |
# export USE_HOST_DEPS=1
# export CI_BUILD=1
# pushd .
# cd tests/py/dynamo
# nvidia-smi
# python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_cpp_test_results.xml runtime/test_002_cudagraphs_cpp.py || true
# python -m pytest -ra --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_dynamo_core_runtime_cudagraphs_py_test_results.xml runtime/test_002_cudagraphs_py.py || true
# popd
# tests-py-core:
# name: Test core [Python]
# needs: [generate-tensorrt-matrix, build]
# strategy:
# fail-fast: false
# matrix:
# include:
# - repository: pytorch/tensorrt
# package-name: torch_tensorrt
# pre-script: packaging/pre_build_script.sh
# post-script: packaging/post_build_script.sh
# smoke-test-script: packaging/smoke_test_script.sh
# uses: ./.github/workflows/linux-test.yml
# with:
# job-name: tests-py-core
# repository: "pytorch/tensorrt"
# ref: ""
# test-infra-repository: pytorch/test-infra
# test-infra-ref: main
# build-matrix: ${{ needs.generate-tensorrt-matrix.outputs.matrix }}
# pre-script: ${{ matrix.pre-script }}
# script: |
# export USE_HOST_DEPS=1
# export CI_BUILD=1
# pushd .
# cd tests/py/core
# python -m pytest -ra -n 4 --junitxml=${RUNNER_TEST_RESULTS_DIR}/tests_py_core_test_results.xml .
# popd
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ inputs.repository }}-${{ github.event_name == 'workflow_dispatch' }}-${{ inputs.job-name }}-2
cancel-in-progress: false