-
Notifications
You must be signed in to change notification settings - Fork 33
148 lines (135 loc) · 5.17 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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# 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:
if: false # DO NOT SUBMIT (testing just one job)
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_w7900_gpu_onnx:
name: Linux (x86_64 w7900) Onnx
runs-on: nodai-amdgpu-w7900-x86-64
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}
- 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 the generated ONNX test suite"
env:
IREE_TEST_CONFIG_FILES: iree_tests/configs/config_onnx_gpu_rocm_rdna3.json
run: |
source ${VENV_DIR}/bin/activate
pytest iree_tests/onnx/node/generated -rpfE --timeout=30 --durations=10
linux_x86_64_w7900_gpu_models:
if: false # DO NOT SUBMIT (testing just one job)
name: Linux (x86_64 w7900) Models GPU
runs-on: nodai-amdgpu-w7900-x86-64
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}
- 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
# TODO(scotttodd): add a local cache for these large files to a persistent runner
- name: "Downloading remote files for real weight model tests"
run: |
source ${VENV_DIR}/bin/activate
python3 iree_tests/download_remote_files.py --root-dir pytorch/models
- name: "Running real weight model tests"
env:
IREE_TEST_CONFIG_FILES: iree_tests/configs/config_pytorch_models_cpu_llvm_task.json
run: |
source ${VENV_DIR}/bin/activate
pytest iree_tests/pytorch/models -s -n 4 -k real_weights -rpfE --timeout=1200 --retries 2 --retry-delay 5 --durations=0