Skip to content

Refactor matmul test suite. (#22) #52

Refactor matmul test suite. (#22)

Refactor matmul test suite. (#22) #52

# Copyright 2024 The IREE Authors
#
# 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: Test Linalg Ops
on:
push:
branches:
- main
paths:
- ".github/workflows/test_linalg_ops.yml"
- "linalg_ops/**"
pull_request:
paths:
- ".github/workflows/test_linalg_ops.yml"
- "linalg_ops/**"
workflow_dispatch:
schedule:
# Runs at 3:00 PM UTC, which is 8:00 AM PST
- cron: "0 15 * * *"
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:
test-linalg-ops:
runs-on: ubuntu-24.04
env:
BUILD_DIR: build
VENV_DIR: ${{ github.workspace }}/.venv
CC: clang
CXX: clang++
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Install Python packages.
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Setup Python venv
run: python3 -m venv ${VENV_DIR}
- name: Install IREE nightly release Python packages
run: |
source ${VENV_DIR}/bin/activate
python3 -m pip install -r linalg_ops/requirements-iree.txt
# Build and run tests.
- name: Install build dependencies
run: sudo apt update && sudo apt install -y ninja-build
- name: CMake - Configure
working-directory: linalg_ops
run: |
source ${VENV_DIR}/bin/activate
cmake -G Ninja -B ${BUILD_DIR} . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DIREE_HOST_BIN_DIR=${VENV_DIR}/bin
- name: CMake - build
working-directory: linalg_ops
run: |
cmake --build ${BUILD_DIR}
cmake --build ${BUILD_DIR} --target iree-test-suites-linalg-ops-deps
- name: CTest
working-directory: linalg_ops
run: |
ctest \
--test-dir build/ \
-R iree-test-suites \
--label-exclude "^driver=vulkan$|^driver=metal$|^driver=cuda$|^driver=hip$"