-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
385 additions
and
298 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
name: calc vars | ||
description: calc vars | ||
|
||
inputs: | ||
target: | ||
description: 'TBD' | ||
default: host_x86 | ||
|
||
outputs: | ||
arch: | ||
value: ${{ steps.calc_vars_action.outputs.arch }} | ||
toolchain: | ||
value: ${{ steps.calc_vars_action.outputs.toolchain }} | ||
cmake_toolchain: | ||
value: ${{ steps.calc_vars_action.outputs.cmake_toolchain }} | ||
runs: | ||
# We don't want a new docker just a list of steps, so mark as composite | ||
using: "composite" | ||
steps: | ||
- shell: bash | ||
id: calc_vars_action | ||
run: | | ||
export ARCH= | ||
export TOOLCHAIN= | ||
export CMAKE_TOOLCHAIN= | ||
if [[ "${{inputs.target}}" = "host_x86_64_linux" ]]; then | ||
export ARCH=x86_64 >> $GITHUB_OUTPUT | ||
elif [[ "${{inputs.target}}" = "host_x86_64_windows" ]]; then | ||
export ARCH=x86_64 >> $GITHUB_OUTPUT | ||
elif [[ "${{inputs.target}}" = "host_aarch64_linux" ]]; then | ||
export ARCH=aarch64 >> $GITHUB_OUTPUT; | ||
export TOOLCHAIN=$GITHUB_WORKSPACE/platform/arm-linux/aarch64-toolchain.cmake | ||
export CMAKE_TOOLCHAIN="--toolchain $TOOLCHAIN" | ||
elif [[ "${{inputs.target}}" = "host_riscv64_linux" ]]; then | ||
export ARCH=riscv64 >> $GITHUB_OUTPUT; | ||
export TOOLCHAIN=$GITHUB_WORKSPACE/platform/riscv64-linux/riscv64-toolchain.cmake | ||
export CMAKE_TOOLCHAIN="--toolchain $TOOLCHAIN" | ||
else | ||
echo Unknown target ${{inputs.target}} | ||
exit 1 | ||
fi | ||
echo "arch=$ARCH" >> $GITHUB_OUTPUT | ||
echo "toolchain=$TOOLCHAIN" >> $GITHUB_OUTPUT | ||
echo "cmake_toolchain=$CMAKE_TOOLCHAIN" >> $GITHUB_OUTPUT | ||
cat $GITHUB_OUTPUT |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
name: build-ock-artefacts | ||
description: Action to build the oneapi-construction-kit as an artefact | ||
|
||
inputs: | ||
llvm_version: | ||
description: 'TBD' | ||
default: '19' | ||
target: | ||
description: 'TBD' | ||
|
||
# TODO: This has not been tested yet on windows so would likely need some updating. | ||
runs: | ||
# We don't want a new docker just a list of steps, so mark as composite | ||
using: "composite" | ||
steps: | ||
- name: calc vars | ||
id: calc_vars | ||
uses: ./.github/actions/calc_vars | ||
with: | ||
target: ${{ inputs.target }} | ||
|
||
- name: print vars | ||
shell: bash | ||
run: | | ||
echo arch = ${{steps.calc_vars.outputs.arch}} | ||
echo toolchain = ${{steps.calc_vars.outputs.toolchain}} | ||
# installs tools, ninja, installs llvm and sets up sccache | ||
- name: setup | ||
uses: ./.github/actions/setup_build | ||
with: | ||
llvm_version: 19 | ||
llvm_build_type: RelAssert | ||
cross_arch: ${{ steps.calc_vars.outputs.arch == 'x86_64' && '' || steps.calc_vars.outputs.arch }} | ||
native_llvm_arch: ${{ steps.calc_vars.outputs.arch == 'x86_64' && '' || 'x86_64' }} | ||
|
||
- name: build ock x86 | ||
if: steps.calc_vars.outputs.arch == 'x86_64' | ||
uses: ./.github/actions/do_build_ock | ||
with: | ||
build_targets: install | ||
offline_kernel_tests: OFF | ||
|
||
- name: build ock other ${{ matrix.target }} | ||
if: steps.calc_vars.outputs.arch != 'x86_64' | ||
uses: ./.github/actions/do_build_ock | ||
with: | ||
build_targets: install | ||
# Todo : target does not directly equate to arch here | ||
toolchain_file: ${{ steps.calc_vars.outputs.toolchain }} | ||
extra_flags: -DCA_BUILTINS_TOOLS_DIR=${{ github.workspace }}/llvm_install_native/bin | ||
# Do we need the offline kernel as an artefact? If so currently this requires an external clc or qemu to be installed. | ||
offline_kernel_tests: OFF | ||
host_fp16: ON | ||
|
||
# Prune it as there is too much things in there we don't want to use | ||
# We may want to extend this a bit as time goes on such as clc or UnitCL | ||
- name: prune ock artefact | ||
shell: bash | ||
run: | | ||
# delete all but city runner and the python associated file under bin | ||
find install/bin -maxdepth 1 -type f ! -name "*.py" -delete | ||
rm -rf install/share | ||
- name: upload ock artefact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: ock_${{ inputs.target }} | ||
path: install | ||
retention-days: 1 | ||
|
||
# Some of these are riscv or host target specific, but it does not harm at present to | ||
# overset cmake values | ||
# inputs: |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
name: build tornado | ||
description: build tornado | ||
|
||
inputs: | ||
target: | ||
description: 'TBD' | ||
|
||
runs: | ||
# We don't want a new docker just a list of steps, so mark as composite | ||
using: "composite" | ||
steps: | ||
- name: calc vars | ||
id: calc_vars | ||
uses: ./.github/actions/calc_vars | ||
with: | ||
target: ${{ inputs.target }} | ||
|
||
- name: Install Ninja | ||
uses: llvm/actions/install-ninja@main | ||
|
||
- name: download icd artifact | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: icd_${{inputs.target}} | ||
path: install_icd | ||
|
||
# Get maven | ||
- name: fetch maven | ||
shell: bash | ||
run: | | ||
wget https://archive.apache.org/dist/maven/maven-3/3.9.3/binaries/apache-maven-3.9.3-bin.tar.gz | ||
tar xf apache-maven-3.9.3-bin.tar.gz | ||
# todo: setup correctly for our aarch64 runner | ||
- name: select jdk21 | ||
if: steps.calc_vars.outputs.arch == 'x86_64' | ||
shell: bash | ||
run: | | ||
sudo update-java-alternatives -s temurin-21-jdk-amd64 | ||
pip install tqdm | ||
- name: build tornadovm | ||
shell: bash | ||
run: | | ||
git clone https://github.com/beehive-lab/TornadoVM.git -b develop --depth 1 TornadoVM_build | ||
export JAVA_HOME=`readlink -f $(command -v java) | sed 's/\/bin\/java//'` | ||
export TORNADO_SDK=$GITHUB_WORKSPACE/TornadoVM_build/bin/sdk | ||
export PATH=$PWD/apache-maven-3.9.3/bin:$PATH | ||
mvn -v | ||
java --version | ||
cd TornadoVM_build | ||
# The tornado build system links in OpenCL assuming it's in a known place. This gets around | ||
# this by pass CXX as an environment variable as it's difficult to change the build system | ||
# even if we don't use this script. | ||
CXX="g++ -L$GITHUB_WORKSPACE/install_icd/lib" make -j8 jdk21 BACKEND=opencl | ||
# # Not sure if gitlab ci does not follow symbolic links so copy for the artefact | ||
# cp -r -L $TORNADO_SDK $GITHUB_WORKSPACE/TornadoVM_SDK | ||
- name: upload tornado artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: tornado_${{inputs.target}} | ||
path: TornadoVM_SDK | ||
retention-days: 1 |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
name: sparse checkout | ||
description: sparse checjout ock (currently platform and .github) | ||
|
||
runs: | ||
# We don't want a new docker just a list of steps, so mark as composite | ||
using: "composite" | ||
steps: | ||
- name: clone ock platform | ||
uses: actions/checkout@v4 | ||
with: | ||
sparse-checkout: | | ||
platform | ||
.github |
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
Oops, something went wrong.