|
Neko 1.99.7
A portable framework for high-order spectral element flow simulations
|
#include <stdlib.h>

Go to the source code of this file.
Macros | |
| #define | NEKO_EB_SWEEP_DEFAULT 0 |
| #define | NEKO_TUNE_INIT 1.0e30f |
| #define | NEKO_TUNE_WARMUP 20 |
| #define | NEKO_TUNE_TIME(T, LAUNCH, LX, C, ITERS) |
| #define | NEKO_TUNE_BEST(T, BEST, N) |
| #define | NEKO_TUNE_LOG(LX, T1, T2) |
Functions | |
| static int | neko_eb_sweep () |
| static int | neko_eb_env () |
| static int | neko_chunks_env () |
| static int | neko_tune_rounds () |
| static int | neko_tune_iters () |
| #define NEKO_EB_SWEEP_DEFAULT 0 |
Shared autotuner scaffolding for the SEM operator kernels
Each operator's tune() picks between the 1d variant and the kstep variant, and – when sweeping is enabled – between the elements per block candidates in elem_block.h. The sampling is interleaved and min reduced: timing the variants one after another in a fixed order lets clock drift bias the comparison by candidate position, which no amount of extra iterations removes.
A tune function using these macros is expected to have start, stop and stream in scope, plus a CASE_1D(LX) macro and a kstep launch macro taking (LX, C).
Definition at line 63 of file elem_block_tune.h.
Definition at line 131 of file elem_block_tune.h.
| #define NEKO_TUNE_INIT 1.0e30f |
Definition at line 66 of file elem_block_tune.h.
Definition at line 139 of file elem_block_tune.h.
Definition at line 120 of file elem_block_tune.h.
| #define NEKO_TUNE_WARMUP 20 |
Definition at line 67 of file elem_block_tune.h.