-
Notifications
You must be signed in to change notification settings - Fork 33
130 lines (118 loc) · 4.36 KB
/
test_iree.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Copyright 2024 Advanced Micro Devices, Inc.
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
name: IREE Test Suite
on:
# TODO(scotttodd): run on schedule (nightly), and/or on pushes to `main`
pull_request:
paths:
- "iree_tests/**"
workflow_dispatch:
concurrency:
# A PR number if a pull request and otherwise the commit hash. This cancels
# queued and in-progress runs for the same PR (presubmit) or commit
# (postsubmit). The workflow name is prepended to avoid conflicts between
# different workflows.
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
cancel-in-progress: true
jobs:
linux_x86_64_onnx:
name: Linux (x86_64) Onnx
runs-on: ubuntu-latest
env:
VENV_DIR: ${{ github.workspace }}/.venv
steps:
- name: "Checking out repository"
uses: actions/checkout@v4
with:
submodules: false
lfs: true
- name: "Setting up Python"
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: "Setup Python venv"
run: python3 -m venv ${VENV_DIR}
# TODO(scotttodd): swap this with workflow artifact downloads
# TODO(scotttodd): make this configurable with workflow inputs
# TODO(scotttodd): pin to a version? in this repo we could just test latest
- name: "Installing IREE nightly release Python packages"
run: |
source ${VENV_DIR}/bin/activate
python3 -m pip install \
--find-links https://iree.dev/pip-release-links.html \
--upgrade \
iree-compiler \
iree-runtime
- name: "Installing other Python requirements"
run: |
source ${VENV_DIR}/bin/activate
python3 -m pip install -r iree_tests/requirements.txt
- name: "Running simple tests"
run: |
source ${VENV_DIR}/bin/activate
pytest iree_tests/simple --durations=0
- name: "Running the generated ONNX test suite"
run: |
source ${VENV_DIR}/bin/activate
pytest iree_tests/onnx/node/generated -n auto -rpfE --timeout=30 --retries 2 --retry-delay 5 --durations=10
linux_x86_64_mi250_gpu_models:
name: Linux (x86_64 mi250) Models GPU
runs-on: nodai-amdgpu-mi250-x86-64
env:
VENV_DIR: ${{ github.workspace }}/.venv
IREE_TEST_FILES: ~/iree_tests_cache
steps:
- name: "Checking out repository"
uses: actions/checkout@v4
with:
submodules: false
lfs: true
- name: "Setup Python venv"
run: python3.11 -m venv ${VENV_DIR}
- name: "Installing IREE nightly release Python packages"
run: |
source ${VENV_DIR}/bin/activate
python3.11 -m pip install \
--find-links https://iree.dev/pip-release-links.html \
--upgrade \
iree-compiler \
iree-runtime
- name: "Installing other Python requirements"
run: |
source ${VENV_DIR}/bin/activate
python3.11 -m pip install -r iree_tests/requirements.txt
- name: "Downloading remote files for real weight model tests"
run: |
source ${VENV_DIR}/bin/activate
python3.11 iree_tests/download_remote_files.py --root-dir pytorch/models
- name: "Running real weight model tests ROCm AMDGPU"
env:
IREE_TEST_CONFIG_FILES: iree_tests/configs/config_gpu_rocm_models.json
run: |
source ${VENV_DIR}/bin/activate
pytest iree_tests/pytorch/models \
-rpfE \
-k real_weights \
--no-skip-tests-missing-files \
--capture=no \
--timeout=1200 \
--retries 2 \
--retry-delay 5 \
--durations=0
- name: "Running scheduled unet model tests ROCm AMDGPU"
env:
IREE_TEST_CONFIG_FILES: iree_tests/configs/config_sdxl_scheduled_unet_gpu_rocm.json
run: |
source ${VENV_DIR}/bin/activate
pytest iree_tests/pytorch/models/sdxl-scheduled-unet-3-tank \
-rpfE \
-k real_weights \
--no-skip-tests-missing-files \
--capture=no \
--timeout=1200 \
--retries 2 \
--retry-delay 5 \
--durations=0