batchlas::GeometrySettings Struct Reference

Overview

Launch geometry, block widths, iteration counts and tuning thresholds.

Where the call site's default is a function of n, the scalar type, an argument or a device property, the field is a sentinel (0, std::nullopt or an unset EnvValue) and the default stays at the call site. Fields with a constant default carry it.

Definition at line 248 of file settings.hh.

#include <batchlas/settings.hh>

Variables

◆ latrd_grid_groups

int batchlas::GeometrySettings::latrd_grid_groups = 0

BATCHLAS_LATRD_GRID_GROUPS (env_positive_int_or).

0 = auto, min(residency cap, ceil((n-1)/32)). A forced value is still clamped by the residency cap unless UnsafeSettings::latrd_grid_force_unsafe lifts it.

Definition at line 252 of file settings.hh.

◆ latrd_grid_min_n

int batchlas::GeometrySettings::latrd_grid_min_n = 768

BATCHLAS_LATRD_GRID_MIN_N (env_positive_int_or): the n at which the grid latrd path becomes eligible.

Definition at line 257 of file settings.hh.

◆ latrd_grid_wg

int batchlas::GeometrySettings::latrd_grid_wg = 0

BATCHLAS_LATRD_GRID_WG (env_positive_int_or).

0 = computed. Only 32, 64, 128 and 256 are honoured; any other value is silently ignored.

Definition at line 261 of file settings.hh.

◆ latrd_lower_panel_wg_hint

int batchlas::GeometrySettings::latrd_lower_panel_wg_hint = 0

BATCHLAS_LATRD_LOWER_PANEL_WG_HINT.

0 = unset; only 64, 128 and 256 take effect, and only on the device path. Wins over BATCHLAS_TUNE_LATRD_WG_HINT.

Definition at line 266 of file settings.hh.

◆ sb2st_back_subs

int batchlas::GeometrySettings::sb2st_back_subs = 0

BATCHLAS_SB2ST_BACK_SUBS (env_positive_int_or).

0 = the call site's default chain.

Note
Force together with sb2st_back_tile_w; only tile {1,2,4,8} x subs {4,8,16} are instantiated.

Definition at line 271 of file settings.hh.

◆ sb2st_back_tile_w

int batchlas::GeometrySettings::sb2st_back_tile_w = 0

BATCHLAS_SB2ST_BACK_TILE_W (env_positive_int_or): column tile of the wave kernel.

0 = the tuned heuristic.

Definition at line 275 of file settings.hh.

◆ sb2st_back_tile

EnvValue batchlas::GeometrySettings::sb2st_back_tile {}

BATCHLAS_SB2ST_BACK_TILE: tile of the tiled back-transform kernel (a different kernel from sb2st_back_tile_w).

0 selects the streaming kernel.

Definition at line 280 of file settings.hh.

◆ potrf_nb

int batchlas::GeometrySettings::potrf_nb = 0

BATCHLAS_POTRF_NB.

0 = unset; the default is type-dependent (128/96/96/64 for float/double/cfloat/cdouble).

Definition at line 284 of file settings.hh.

◆ potrf_w

int batchlas::GeometrySettings::potrf_w = 0

BATCHLAS_POTRF_W. 0 = unset; the default is type-dependent (128/32/32/16).

Definition at line 286 of file settings.hh.

◆ syev_two_stage_kd

int batchlas::GeometrySettings::syev_two_stage_kd = 32

BATCHLAS_SYEV_TWO_STAGE_KD (env_positive_int_or): the band width, clamped to [1, n-1] at the call site.

Definition at line 290 of file settings.hh.

◆ syev_two_stage_sb2st_block

int batchlas::GeometrySettings::syev_two_stage_sb2st_block = 32

BATCHLAS_SYEV_TWO_STAGE_SB2ST_BLOCK (env_positive_int_or).

Read by four solve/sizing pairs.

Definition at line 294 of file settings.hh.

◆ sy2sb_ormqr_nb

EnvValue batchlas::GeometrySettings::sy2sb_ormqr_nb {}

BATCHLAS_SY2SB_ORMQR_NB: unset, off or 0 (never hint), or a positive forced value (clamped to kd at the call site).

A value that does not parse, is negative or is above 1024 reads as unset. Wins over BATCHLAS_TUNE_SY2SB_ORMQR_NB.

Definition at line 299 of file settings.hh.

◆ sytrd_block_size

int batchlas::GeometrySettings::sytrd_block_size = 0

BATCHLAS_SYTRD_BLOCK_SIZE.

0 = unset; the default is n-bucketed and type-dependent. Wins over BATCHLAS_TUNE_SYTRD_BLOCK_SIZE.

Definition at line 303 of file settings.hh.

◆ trmm_tile_m

int batchlas::GeometrySettings::trmm_tile_m = 0

BATCHLAS_TRMM_TILE_M. 0 = unset (a function of m); bucketed to 16, 32, 64 or 128.

Definition at line 306 of file settings.hh.

◆ trsm_outer_nb

int batchlas::GeometrySettings::trsm_outer_nb = 0

BATCHLAS_TRSM_OUTER_NB. 0 = unset: 128 for Side::Left, the CTA nb for Side::Right.

Definition at line 309 of file settings.hh.

◆ expand_max_bytes

EnvValue batchlas::GeometrySettings::expand_max_bytes {}

BATCHLAS_EXPAND_MAX_BYTES (strtoull): only ever lowers the expansion ceiling, whose default is GLOBAL_MEM_SIZE / 4.

Definition at line 313 of file settings.hh.

◆ gesvd_blocked_gebrd_min

EnvValue batchlas::GeometrySettings::gesvd_blocked_gebrd_min {}

BATCHLAS_GESVD_BLOCKED_GEBRD_MIN (bare atoi, default 1).

Warning
An unparseable value reads as 0, which widens the blocked gebrd path to every n.

Definition at line 318 of file settings.hh.

◆ syevx_check_every

int batchlas::GeometrySettings::syevx_check_every = 4

BATCHLAS_SYEVX_CHECK_EVERY: iterations between convergence checks; each check is a full pipeline drain.

Definition at line 322 of file settings.hh.

◆ syevx_extra_directions

std::optional<int> batchlas::GeometrySettings::syevx_extra_directions {}

BATCHLAS_SYEVX_EXTRA_DIRECTIONS: 0 means "no guard block"; nullopt means the default max(2, k/4).

A negative value reads as unset.

Definition at line 326 of file settings.hh.

◆ syevx_filter_degree

int batchlas::GeometrySettings::syevx_filter_degree = 0

BATCHLAS_SYEVX_FILTER_DEGREE.

0 = unset (only > 0 is accepted). Top of a four-level precedence chain; setting it also disables the automatic degree.

Definition at line 330 of file settings.hh.

◆ syevx_init_power

std::optional<int> batchlas::GeometrySettings::syevx_init_power {}

BATCHLAS_SYEVX_INIT_POWER: 0 means "no power iterations"; nullopt means 4 unless SyevxParams supplied a value.

Definition at line 334 of file settings.hh.

◆ syevx_lock_factor

double batchlas::GeometrySettings::syevx_lock_factor = 0.1

BATCHLAS_SYEVX_LOCK_FACTOR (atof, > 0 only): a column is masked once its residual is this multiple of the tolerance.

An unparseable value yields the default.

Definition at line 339 of file settings.hh.

◆ tune

struct batchlas::GeometrySettings::TuneSettings batchlas::GeometrySettings::tune

The eleven BATCHLAS_TUNE_* overrides.

Classes

struct  TuneSettings
 The runtime overrides of include/batchlas/tuning_params.hh (BATCHLAS_TUNE_*). More...