|
Neko 1.99.9
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 1 |
| #define | NEKO_TUNE_INIT 1.0e30f |
| #define | NEKO_TUNE_WARMUP 20 |
| #define | NEKO_TUNE_FOR(C, ON, PIN, N) |
| #define | NEKO_TUNE_TIME(T, LAUNCH, LX, C, ITERS) |
| #define | NEKO_TUNE_US(T, ITERS) ((T) * 1000.0 / (double) (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_pin () |
| static int | neko_chunks_pin () |
| static int | neko_tune_rounds () |
| static int | neko_tune_iters () |
| #define NEKO_EB_SWEEP_DEFAULT 1 |
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.
NEKO_AUTOTUNE takes a formulation out of the tuner's hands, but only the formulation: the geometry candidates of the one it names are still measured and reported, and it takes that formulation's own variable (NEKO_EB, NEKO_CHUNKS, ...) to fix the geometry too. Pinning the formulation used to imply candidate 0, which silently answered a different question than the one an A/B run of two formulations is asking. See NEKO_TUNE_FOR() below.
A tune function using these macros is expected to have start, stop and stream in scope — and iters for the reporting macros — plus a CASE_1D(LX) macro and a kstep launch macro taking (LX, C).
Definition at line 69 of file elem_block_tune.h.
Definition at line 185 of file elem_block_tune.h.
| #define NEKO_TUNE_INIT 1.0e30f |
Definition at line 72 of file elem_block_tune.h.
Definition at line 193 of file elem_block_tune.h.
Definition at line 163 of file elem_block_tune.h.
Definition at line 183 of file elem_block_tune.h.
| #define NEKO_TUNE_WARMUP 20 |
Definition at line 73 of file elem_block_tune.h.
Definition at line 112 of file elem_block_tune.h.


Definition at line 95 of file elem_block_tune.h.


Definition at line 75 of file elem_block_tune.h.


Definition at line 136 of file elem_block_tune.h.


Definition at line 128 of file elem_block_tune.h.

