diff --git a/README.md b/README.md index 7385ecde53da5c7f0b9bd9ef1bf91ad51ca40090..3be071ce85492cc55284e3acd6b61b32c02d1bec 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # 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). -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. The desired variant is configured in CMake. @@ -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. ``` + +## 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.