Skip to content

Commit 240d2b0

Browse files
Ading workflows
1 parent ace5e0d commit 240d2b0

6 files changed

Lines changed: 194 additions & 2 deletions

File tree

.github/ISSUE_TEMPLATE/bug.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
**Bug report**: **Title**
2+
3+
**Describe the bug**
4+
A clear and concise description of what the bug is.
5+
6+
**To Reproduce**
7+
Steps to reproduce the behavior:
8+
9+
1. Go to '...'
10+
2. Click on '....'
11+
3. Scroll down to '....'
12+
4. See error
13+
14+
**Historical Documents**
15+
When applicable please include any supporting artifacts: build and test logs, configurations ...
16+
17+
**Expected behavior**
18+
A clear and concise description of what you expected to happen.
19+
20+
**Screenshots**
21+
If applicable, add screenshots to help explain your problem.
22+
23+
**Versions (please complete the following information):**
24+
25+
- OS: [e.g. OSX]
26+
- OpenCL: [e.g. 1.11.0]
27+
- HiCR: [e.g. 0.1.0]
28+
29+
**Additional context**
30+
Add any other context about the problem here.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
**Feature request**: **Title**
2+
3+
**Is your feature request related to a problem? Please describe.**
4+
A clear and concise description of what the problem is. Link any relevant issues.
5+
6+
**Describe the solution you'd like**
7+
A clear and concise description of what you want to happen.
8+
9+
**Describe alternatives you've considered**
10+
A clear and concise description of any alternative solutions or features you've considered.
11+
12+
**Additional context**
13+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## Description
2+
3+
_Describe the big picture of your changes here to communicate to the maintainers why we should accept this pull request.
4+
If it fixes a bug or resolves a feature request, be sure to link to that issue._
5+
6+
## Type of change
7+
8+
_What type of changes does your code introduce to HiCR? Put an `x` in the box that apply._
9+
10+
- [ ] `CHANGE` (fix or feature that would cause existing functionality to not work as expected)
11+
- [ ] `FEATURE` (non-breaking change which adds functionality)
12+
- [ ] `BUGFIX` (non-breaking change which fixes an issue)
13+
- [ ] `ENHANCEMENT` (non-breaking change which improves existing functionality)
14+
- [ ] `NONE` (if none of the other choices apply. Example, tooling, build system, CI, docs, etc.)
15+
16+
## Verification
17+
<!-- How you tested it? How do you know it works? -->
18+
Please check the [testing guidelines](introduction/build.html#building-tests-and-examples) for recommendations about automated tests.
19+
20+
<!--
21+
## Changelog entry
22+
23+
_Please put a one-line changelog entry below. This will be copied to the changelog file during the release process._
24+
25+
<!--
26+
Your release note should be written in clear and straightforward sentences. Most often, users aren't familiar with
27+
the technical details of your PR, so consider what they need to know when you write your release note.
28+
29+
Some brief examples of release notes:
30+
- Add metadataConfig field to the Prometheus CRD for configuring how remote-write sends metadata information.
31+
- Generate correct scraping configuration for Probes with empty or unset module parameter.
32+
-->
33+
<!--
34+
```release-note
35+
36+
``` -->

.github/workflows/taskr.yml

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
name: Build and Run Tests
2+
3+
on:
4+
pull_request:
5+
branches: [ "master" ]
6+
push:
7+
branches: [ "master" ]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
15+
# Build HiCR and run tests
16+
build:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: actions/checkout@v4
20+
- name: Updating Apt
21+
run: sudo apt update
22+
- name: Installing apt packages
23+
run: |
24+
sudo apt install -y build-essential
25+
sudo apt install -y git
26+
sudo apt install -y libgtest-dev
27+
sudo apt install -y libhwloc-dev
28+
sudo apt install -y openssh-client
29+
sudo apt install -y libopenblas-dev
30+
sudo apt install -y liblapack-dev
31+
sudo apt install -y liblapacke-dev
32+
sudo apt install -y libfabric-dev
33+
sudo apt install -y libibverbs-dev
34+
sudo apt install -y infiniband-diags
35+
sudo apt install -y libboost-context-dev
36+
sudo apt install -y curl
37+
sudo apt install -y jq
38+
sudo apt install -y python3-pip
39+
sudo apt install -y python3-venv
40+
sudo apt install -y pkgconf
41+
sudo apt install -y wget
42+
sudo apt install -y sudo
43+
sudo apt install -y libopenmpi-dev
44+
sudo apt install -y cmake
45+
sudo apt install -y libstb-dev
46+
sudo apt install -y libsfml-dev
47+
sudo apt install -y libglew-dev
48+
sudo apt install -y libglm-dev
49+
sudo apt install -y libtclap-dev
50+
sudo apt install -y ruby
51+
sudo apt install -y doxygen
52+
sudo apt install -y intel-opencl-icd
53+
- name: Installing meson, ninja and gcovr
54+
run: python3 -m pip install meson ninja gcovr
55+
- name: Install LPF
56+
run: |
57+
git clone -b noc_extension --single-branch --depth 1 https://github.com/Algebraic-Programming/LPF.git $HOME/lpf
58+
cd $HOME/lpf
59+
git checkout noc_extension
60+
mkdir ./build
61+
cd ./build
62+
../bootstrap.sh --prefix=/usr/local
63+
make -j8
64+
sudo make install || true
65+
sudo rm -rf $HOME/lpf
66+
- name: Install OVNI
67+
run: |
68+
git clone --recursive https://github.com/bsc-pm/ovni.git $HOME/ovni
69+
cd $HOME/ovni
70+
mkdir build
71+
cd build
72+
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTING=FALSE
73+
make -j8
74+
sudo make install
75+
sudo rm -rf $HOME/ovni
76+
- name: Install NOS-V
77+
run: |
78+
git clone -b 3.1.0 --recursive https://github.com/bsc-pm/nos-v.git $HOME/nos-v
79+
cd $HOME/nos-v
80+
autoreconf -f -i -v
81+
./configure --prefix=/usr/local --with-ovni=/usr/local
82+
make all
83+
sudo make install
84+
cd ..
85+
rm -rf $HOME/nos-v
86+
sudo sed -i '/^\[instrumentation\]/,/^\[/{s/version *= *"none"/version = "ovni"/}' /usr/local/share/nosv.toml
87+
sudo sed -i '/^\[ovni\]/,/^\[/{s/level *= *2/level = 0/}' /usr/local/share/nosv.toml
88+
- name: Install OpenCL
89+
run: |
90+
git clone -b v2024.10.24 --recursive https://github.com/KhronosGroup/OpenCL-SDK.git $HOME/opencl
91+
cd $HOME/opencl
92+
git submodule update --init --recursive
93+
cmake -D CMAKE_INSTALL_PREFIX=/usr/local -B ./build -S .
94+
sudo cmake --build ./build --config Release --target install
95+
cd ..
96+
rm -rf $HOME/opencl
97+
- name: Updating submodules
98+
run: git submodule update --init --recursive
99+
- name: Building all modules
100+
run: |
101+
echo "Building..."
102+
mkdir build
103+
meson setup build -DdistributedEngine=mpi -DbuildTests=true -DbuildExamples=true -DcompileWarningsAsErrors=true
104+
meson compile -C build
105+
- name: Running tests
106+
run: |
107+
echo "Running Tests..."
108+
meson test -C build
109+
- uses: actions/upload-artifact@v4
110+
if: always()
111+
with:
112+
name: meson-logs
113+
path: build/meson-logs/

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ ___________ __ __________
99
\/ \/ \/ \/
1010
```
1111

12-
TaskR is a lightweight dependency-driven tasking runtime system based entirely on function calls to the HiCR API
12+
TaskR is a lightweight dependency-driven tasking runtime system based entirely on function calls to the [HiCR API](https://github.com/Algebraic-Programming/HiCR)
1313

1414
## License
1515

extern/hicr

Submodule hicr updated 167 files

0 commit comments

Comments
 (0)