Extended Gemm interface to support mixed precision operations #1322
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
on: | |
# Run only on pushes to master to avoid triggering too many builds | |
# Individual branches can be run manually if desired. | |
push: | |
branches: [ master ] | |
#Run on any pull request, regardless of target branch. | |
pull_request: | |
# This allows manual triggering of the workflow through the Actions tab | |
workflow_dispatch: | |
jobs: | |
# This step checks whether we should skip the job | |
# This prevents running duplicate jobs on merge and should | |
# cancel outdated builds on pull requests. | |
skip-check: | |
continue-on-error: true | |
runs-on: ubuntu-22.04 | |
# Map a step output to a job output | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@master | |
with: | |
concurrent_skipping: 'never' | |
skip_after_successful_duplicate: 'true' | |
# Skip builds for changes to documentation | |
paths_ignore: '["**/README.md", "**/doc/**"]' | |
do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' | |
# Main job, builds the dockerfile in the repo and uses that to run | |
# the tests. | |
Build-and-Test: | |
needs: skip-check | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- impl: "DPCPP" | |
cxx_compiler: "/tmp/dpcpp/bin/clang++" | |
cc_compiler: "/tmp/dpcpp/bin/clang" | |
target: "opencl" | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
- name: Push Event Environment Vars | |
if: github.event_name == 'push' | |
run: | | |
echo "GIT_SLUG=${GITHUB_REPOSITORY}" >> $GITHUB_ENV | |
echo "GIT_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV | |
- name: PR Event Environment Vars | |
if: github.event_name == 'pull_request' | |
run: | | |
echo "GIT_SLUG=${{github.event.pull_request.head.repo.full_name}}" >> $GITHUB_ENV | |
echo "GIT_BRANCH=${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV | |
- name: Build the Docker image | |
env: | |
C_COMPILER: ${{matrix.cc_compiler}} | |
CXX_COMPILER: ${{matrix.cxx_compiler}} | |
IMPL: ${{matrix.impl}} | |
COMMAND: "build-test" | |
run: docker build --build-arg c_compiler=${C_COMPILER} | |
--build-arg cxx_compiler=${CXX_COMPILER} | |
--build-arg git_branch=${GIT_BRANCH} | |
--build-arg git_slug=${GIT_SLUG} | |
--build-arg impl=${IMPL} | |
--build-arg command=${COMMAND} | |
-t portblas . | |
- name: Run the Docker image | |
run: docker run -t portblas | |
# Builds the dockerfile in the repo and uses that to build auto-tuner. | |
Build-Auto-Tuner: | |
needs: skip-check | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- impl: "DPCPP" | |
cxx_compiler: "/tmp/dpcpp/bin/clang++" | |
cc_compiler: "/tmp/dpcpp/bin/clang" | |
steps: | |
- uses: actions/checkout@v3.5.3 | |
- name: Push Event Environment Vars | |
if: github.event_name == 'push' | |
run: | | |
echo "GIT_SLUG=${GITHUB_REPOSITORY}" >> $GITHUB_ENV | |
echo "GIT_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV | |
- name: PR Event Environment Vars | |
if: github.event_name == 'pull_request' | |
run: | | |
echo "GIT_SLUG=${{github.event.pull_request.head.repo.full_name}}" >> $GITHUB_ENV | |
echo "GIT_BRANCH=${{ github.event.pull_request.head.ref }}" >> $GITHUB_ENV | |
- name: Build the Docker image | |
env: | |
C_COMPILER: ${{matrix.cc_compiler}} | |
CXX_COMPILER: ${{matrix.cxx_compiler}} | |
IMPL: ${{matrix.impl}} | |
COMMAND: "auto-tuner" | |
run: docker build --build-arg c_compiler=${C_COMPILER} | |
--build-arg cxx_compiler=${CXX_COMPILER} | |
--build-arg git_branch=${GIT_BRANCH} | |
--build-arg git_slug=${GIT_SLUG} | |
--build-arg impl=${IMPL} | |
--build-arg command=${COMMAND} | |
-t portblas . | |
- name: Run the Docker image | |
run: docker run -t portblas |