Skip to content
This repository has been archived by the owner on Jan 6, 2024. It is now read-only.

Add archival notice to README #16

Add archival notice to README

Add archival notice to README #16

Workflow file for this run

name: CI
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-22.04
steps:
- name: Install dependencies
run: |
sudo apt install -y bats build-essential ocl-icd-libopencl1 cmake git \
pkg-config libclang-{11,14}-dev clang-{11,14} llvm-{11,14} make \
ninja-build ocl-icd-libopencl1 ocl-icd-dev ocl-icd-opencl-dev \
libhwloc-dev zlib1g zlib1g-dev clinfo dialog apt-utils libxml2-dev \
libclang-cpp{11,14}-dev libclang-cpp{11,14} llvm-{11,14}-dev \
libglib2.0-dev lcov valgrind
- name: Clone POCL
uses: actions/checkout@v3
with:
repository: pocl/pocl
ref: release_3_0
path: pocl
- name: Build POCL
run: |
cmake -S pocl -B builds/pocl \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DWITH_LLVM_CONFIG=/usr/bin/llvm-config-14
cmake --build builds/pocl
- name: Install POCL
run: |
cd builds/pocl
sudo make install
sudo mkdir -p /etc/OpenCL/vendors
sudo cp pocl.icd /etc/OpenCL/vendors/pocl.icd
- name: Clone Oclgrind
uses: actions/checkout@v3
with:
repository: jrprice/Oclgrind
ref: v21.10
path: oclgrind
- name: Build Oclgrind
run: |
cmake -S oclgrind -B builds/oclgrind \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DLLVM_DIR=/usr/lib/llvm-11/share/llvm/cmake
cmake --build builds/oclgrind
- name: Install Oclgrind
run: |
cd builds/oclgrind
sudo make install
- name: Update registry of installed libraries
run: sudo ldconfig
- name: Clone cf4ocl
uses: actions/checkout@v3
with:
path: cf4ocl
- name: Build cf4ocl, test against POCL and generate coverage report
run: |
cmake -S cf4ocl -B builds/cf4ocl \
-DCMAKE_BUILD_TYPE=Debug \
-DOpenCL_LIBRARY=/lib/x86_64-linux-gnu/libOpenCL.so \
-DTESTS_GENERATE_COVERAGE=1
cmake --build builds/cf4ocl --target codecov
- name: Upload coverage report to CodeCov
uses: codecov/codecov-action@v3
with:
directory: builds/cf4ocl
verbose: true
- name: List available OpenCL devices (should only register POCL)
run: ./builds/cf4ocl/src/utils/ccl_devinfo
- name: Test cf4ocl against Oclgrind and check for memory leaks
run: |
cd builds/cf4ocl
oclgrind valgrind --tool=memcheck --leak-check=full ctest