summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorCedric Nugteren <web@cedricnugteren.nl>2018-09-15 18:43:51 +0200
committerCedric Nugteren <web@cedricnugteren.nl>2018-09-15 18:47:31 +0200
commit91dbd580ab2f5d2363d51ba4e3fc9735f1c7a937 (patch)
treef126cccc2aef36c25de3ecea4dbe3bbdb0efa32f /doc
parent23e855d643384b5ed93af7e651ec5120e574f3f8 (diff)
Added a kernel-parameter pair table to document the tuning API
Diffstat (limited to 'doc')
-rw-r--r--doc/api.md4
-rw-r--r--doc/tuning.md20
2 files changed, 22 insertions, 2 deletions
diff --git a/doc/api.md b/doc/api.md
index a60e16ce..7bd2abf2 100644
--- a/doc/api.md
+++ b/doc/api.md
@@ -3452,7 +3452,7 @@ Arguments to FillCache:
RetrieveParameters: Retrieves current tuning parameters (auxiliary function)
-------------
-This function retrieves current tuning parameters for a specific device-precision-kernel combination. This can be used for debugging or inspection.
+This function retrieves current tuning parameters for a specific device-precision-kernel combination. This can be used for debugging or inspection. See [tuning.md](tuning.md) for more details on which kernel names and parameters are valid.
C++ API:
```
@@ -3475,7 +3475,7 @@ Arguments to RetrieveParameters (C++ version):
OverrideParameters: Override tuning parameters (auxiliary function)
-------------
-This function overrides tuning parameters for a specific device-precision-kernel combination. The next time the target routine is called it will be re-compiled and use the new parameters. All further times (until `OverrideParameters` is called again) it will load the kernel from the cache and thus continue to use the new parameters. Note that the first time after calling `OverrideParameters` a performance drop can be observable due to the re-compilation of the kernel.
+This function overrides tuning parameters for a specific device-precision-kernel combination. The next time the target routine is called it will be re-compiled and use the new parameters. All further times (until `OverrideParameters` is called again) it will load the kernel from the cache and thus continue to use the new parameters. Note that the first time after calling `OverrideParameters` a performance drop can be observable due to the re-compilation of the kernel. See [tuning.md](tuning.md) for more details on which kernel names and parameters are valid.
C++ API:
```
diff --git a/doc/tuning.md b/doc/tuning.md
index 938c3b6a..3117ffad 100644
--- a/doc/tuning.md
+++ b/doc/tuning.md
@@ -195,6 +195,26 @@ To inspect current behaviour, you can also retrieve the parameters for a specifi
const Precision precision,
std::unordered_map<std::string,size_t> &parameters)
+These two functions require/retrieve the parameters as given in [src/database/kernels](../src/database/kernels), i.e.:
+
+| Kernel name | Parameters |
+| --------------------|-----------------------|
+| Xaxpy | VW, WGS, WPT |
+| Xdot | WGS1, WGS2 |
+| Xgemv | WGS1, WPT1, UNROLL1 |
+| XgemvFast | VW2, WGS2, WPT2 |
+| XgemvFastRot | VW3, WGS3, WPT3 |
+| Xger | WGS1, WGS2, WPT |
+| Xtrsv | TRSV_BLOCK_SIZE |
+| Xgemm | GEMMK, KREG, KWG, KWI, MDIMA, MDIMC, MWG, NDIMB, NDIMC, NWG, SA, SB, STRM, STRN, VWM, VWN |
+| XgemmDirect | KWID, MDIMAD, MDIMCD, NDIMBD, NDIMCD, PADA, PADB, VWMD, VWND, WGD |
+| Copy | COPY_DIMX, COPY_DIMY, COPY_VW, COPY_WPT |
+| Pad | PAD_DIMX, PAD_DIMY, PAD_WPTX, PAD_WPTY |
+| Transpose | TRA_DIM, TRA_PAD, TRA_SHUFFLE, TRA_WPT |
+| Padtranspose | PADTRA_PAD, PADTRA_TILE, PADTRA_WPT |
+| Invert | INTERNAL_BLOCK_SIZE |
+| TrsvRoutine | TRSV_BLOCK_SIZE |
+
Tuning OpenCL compiler options
-------------