Skip to content
Snippets Groups Projects
Commit c3424009 authored by Daniel Bauer's avatar Daniel Bauer :speech_balloon:
Browse files

explain CI/workflow in README

parent 14e14e4e
No related branches found
No related tags found
2 merge requests!27Operators for f4867170 (escape colon),!25Generate operators in CI
Pipeline #77587 skipped
# Optimized operators for [HyTeG](https://i10git.cs.fau.de/hyteg/hyteg) # Optimized operators for [HyTeG](https://i10git.cs.fau.de/hyteg/hyteg)
This repository contains optimized elementwise operators for [HyTeG](https://i10git.cs.fau.de/hyteg/hyteg). This repository contains optimized elementwise operators for [HyTeG](https://i10git.cs.fau.de/hyteg/hyteg).
The code under [operators](operators) is generated using the [HOG](https://i10git.cs.fau.de/hyteg/hog). The code under [operators](operators) is generated using [HOG](https://i10git.cs.fau.de/hyteg/hog).
Each kernel has a platform independent and, where applicable, an AVX-vectorized version. Each kernel has a platform independent and, where applicable, an AVX-vectorized version.
The desired variant is configured in CMake. The desired variant is configured in CMake.
...@@ -21,3 +21,14 @@ python generate.py -o ../operators ../operators-<operator-group>.toml ...@@ -21,3 +21,14 @@ python generate.py -o ../operators ../operators-<operator-group>.toml
# To generate all operators you have to run the script repeatedly, each time with a different toml file. # To generate all operators you have to run the script repeatedly, each time with a different toml file.
``` ```
## Intended development workflow
Adding a new operator is as easy as adjusting one of the existing `operators-<operator-group>.toml` files, or adding a new one.
If you want to update the generator, make the necessary changes in the `generate` directory.
It is a good idea to test your changes locally.
In your commit, do not include changes to the `operators` directory.
After pushing your changes to the remote, our CI automatically regenerates all operators from all `operators-<operator-group>.toml` files present in the repository.
In this process, any changes you made under `operators` will be lost.
After the pipeline has passed, you can trigger the manual job `file-mr` to create a new merge request including your changes and the freshly generated operators.
Using the CI makes sure that the generated code is always in sync with the description of what and how to generate.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment