diff --git a/README.md b/README.md index 5e3497a..6a921f1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -pkbf - Parallel Kernel Benchmarking Framework +# pkbf - Parallel Kernel Benchmarking Framework This project provides a benchmarking framework for parallel computing kernels, where the execution of the kernels can be parallelized using OpenMP or Eventify to compare both for the FlexFMM collaborative project. The application is designed to make adding kernels and parallelization strategies as easy as possible. @@ -104,6 +104,8 @@ To add a new kernel to the project, follow these steps: 1. **Define the Kernel**: - Open the `src/kernels.cpp` file and scroll to the section where new kernels are registered (around the `initialize_registry` function). - Use the existing kernels (`stream_triad` and `daxpy`) as templates. Create a new kernel by adding a lambda to the `register_kernel` method. + - The number, types and initialization of arguments can be choosen freely. + - Note that you only need to provide the loop body / inner loops of a loop nest. The outer loop with induction variable `int i` is defined as part of the parallelization strategy already. For example, to add a new **vector product** kernel, you can do the following: