Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Tartan CI]: Add separate actions to nightly Tartan build to build portBLAS and portDNN #178

Merged
merged 1 commit into from
Dec 1, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions .github/actions/build_portBLAS_action/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: build-portBLAS
description: Action to clone and build portBLAS using oneAPI

inputs:
workspace:
description: 'Main workflow workspace'
default: ${{ github.workspace }}

runs:
# We don't want a new docker just a list of steps, so mark as composite
using: "composite"
steps:
- name: Clone portBLAS
shell: bash
run: git clone --recursive https://github.com/codeplaysoftware/portBLAS

- name: Set up Environment and Build portBLAS
shell: bash
run: |
ls
export LD_LIBRARY_PATH=${{ inputs.workspace }}/linux_nightly_release/lib:$LD_LIBRARY_PATH
export CMAKE_CXX_COMPILER=${{ inputs.workspace }}/linux_nightly_release/bin/clang++
export CMAKE_C_COMPILER=${{ inputs.workspace }}/linux_nightly_release/bin/clang
export OCL_ICD_FILENAMES=${{ inputs.workspace }}/build/lib/libCL.so
export CXX=${{ inputs.workspace }}/linux_nightly_release/bin/clang++
# Note: With default options enabled, portBLAS supports complex math using
# <ext/oneapi/experimental/sycl_complex.hpp>. It was removed in DPC++ in 0b5757bf.
# To disable this -DBLAS_ENABLE_COMPLEX=OFF needs to added to cmake command line.
cmake -B portBLAS_build_dir portBLAS -GNinja -DSYCL_COMPILER=dpcpp -DBLAS_ENABLE_COMPLEX=OFF
MaryaSharf marked this conversation as resolved.
Show resolved Hide resolved
ninja -C $(pwd)/portBLAS_build_dir
27 changes: 27 additions & 0 deletions .github/actions/build_portDNN_action/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: build-portDNN
description: Action to clone and build portDNN using oneAPI

inputs:
workspace:
description: 'Main workflow workspace'
default: ${{ github.workspace }}

runs:
# We don't want a new docker just a list of steps, so mark as composite
using: "composite"
steps:
- name: Clone portDNN
shell: bash
run: git clone --recursive https://github.com/codeplaysoftware/portDNN.git

- name: Set up Environment and build portDNN
shell: bash
run: |
ls
export LD_LIBRARY_PATH=${{ inputs.workspace }}/linux_nightly_release/lib:$LD_LIBRARY_PATH
export CMAKE_CXX_COMPILER=${{ inputs.workspace }}/linux_nightly_release/bin/clang++
export CMAKE_C_COMPILER=${{ inputs.workspace }}/linux_nightly_release/bin/clang
export OCL_ICD_FILENAMES=${{ inputs.workspace }}/build/lib/libCL.so

cmake -B portDNN_build_dir portDNN -GNinja -DCMAKE_CXX_COMPILER=$(pwd)/linux_nightly_release/bin/clang++ -DSNN_BUILD_BENCHMARKS=OFF -DSNN_BENCH_SYCLBLAS=OFF -DSNN_BUILD_DOCUMENTATION=OFF
ninja -C portDNN_build_dir
27 changes: 9 additions & 18 deletions .github/workflows/run_tartan.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
# Build, Run and Test Tartan EchoSystem
# Build, Run and Test Tartan EcoSystem
name: Build and Run Tartan
on:
pull_request:
paths:
- '.github/workflows/run_tartan.yml'
schedule:
- cron: '30 23 * * *' # Runs the workflow at midnight every day
# Allows you to run this workflow manually from the Actions tab
Expand Down Expand Up @@ -52,18 +49,12 @@ jobs:
tar -xzf sycl_linux.tar.gz -C linux_nightly_release
ls

- name: Clone portDNN
run: git clone --recursive https://github.com/codeplaysoftware/portDNN.git

- name: Set up Environment and build portDNN
run: |
ls
export LD_LIBRARY_PATH=$(pwd)/linux_nightly_release/lib:$(pwd)/linux_nightly_release/lib/libsycl.so:$LD_LIBRARY_PATH
export OCL_ICD_FILENAMES=$(pwd)/build/lib/libCL.so
export CMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/openblas64-pthread
export CMAKE_INSTALL_PREFIX=/usr/lib/x86_64-linux-gnu/openblas64-pthread
export CMAKE_CXX_COMPILER=$(pwd)/linux_nightly_release/bin/clang++
export CMAKE_C_COMPILER=$(pwd)/linux_nightly_release/bin/clang
- name: Build portBLAS
uses: ./.github/actions/build_portBLAS_action
with:
workspace: ${{ github.workspace }}

cmake -B portDNN_build_dir portDNN -GNinja -DCMAKE_CXX_COMPILER=$(pwd)/linux_nightly_release/bin/clang++ -DSNN_BUILD_BENCHMARKS=OFF -DSNN_BENCH_SYCLBLAS=OFF -DSNN_BUILD_DOCUMENTATION=OFF
ninja -C portDNN_build_dir
- name: Build portDNN
uses: ./.github/actions/build_portDNN_action
with:
workspace: ${{ github.workspace }}