Skip to content

Commit

Permalink
Merge pull request #178 from MaryaSharf/marya/portBLAS
Browse files Browse the repository at this point in the history
[Tartan CI]: Add separate actions to nightly Tartan build to build portBLAS and portDNN
  • Loading branch information
MaryaSharf authored Dec 1, 2023
2 parents 232f282 + f928108 commit 59aee4c
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 18 deletions.
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
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 }}

0 comments on commit 59aee4c

Please sign in to comment.