DNDSR 0.1.0.dev1+gcd065ad
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::EulerP::EvaluatorConfig Class Reference

JSON-configurable settings for the Evaluator. More...

#include <EulerP_Evaluator.hpp>

Public Member Functions

 EvaluatorConfig ()
 Constructs the config with default values (threadsPerBlock=128, etc.).
 
void valid_patch_keys (const t_jsonconfig &config_in)
 Validates that all keys in config_in exist in the current defaults.
 
void merge_patch (const t_jsonconfig &config_in)
 Validates and applies a JSON merge-patch to the configuration.
 
const t_jsonconfigconfig () const
 Returns a const reference to the underlying JSON configuration.
 

Detailed Description

JSON-configurable settings for the Evaluator.

Stores runtime configuration such as CUDA threads-per-block, whether to pull all input arguments before kernel dispatch, and serialization of CUDA execution. Configuration is applied via JSON merge-patch semantics.

Definition at line 63 of file EulerP_Evaluator.hpp.

Constructor & Destructor Documentation

◆ EvaluatorConfig()

DNDS::EulerP::EvaluatorConfig::EvaluatorConfig ( )

Constructs the config with default values (threadsPerBlock=128, etc.).

Initializes EvaluatorConfig with default JSON values.

Default settings:

  • threadsPerBlock: 128 (CUDA block size)
  • pullAllInputArgs: true (wait for all MPI pulls before kernel dispatch)
  • serializeCUDAExecution: false (allow concurrent CUDA operations)

Definition at line 28 of file EulerP_Evaluator.cpp.

Member Function Documentation

◆ config()

const t_jsonconfig & DNDS::EulerP::EvaluatorConfig::config ( ) const
inline

Returns a const reference to the underlying JSON configuration.

Definition at line 89 of file EulerP_Evaluator.hpp.

Here is the caller graph for this function:

◆ merge_patch()

void DNDS::EulerP::EvaluatorConfig::merge_patch ( const t_jsonconfig config_in)
inline

Validates and applies a JSON merge-patch to the configuration.

Parameters
config_inJSON patch to merge.

Definition at line 82 of file EulerP_Evaluator.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ valid_patch_keys()

void DNDS::EulerP::EvaluatorConfig::valid_patch_keys ( const t_jsonconfig config_in)

Validates that all keys in config_in exist in the current defaults.

Recursively validates that all keys in the user config exist in the defaults.

Parameters
config_inJSON patch to validate.
Exceptions
std::runtime_errorif an unrecognized key is found.

Walks both the user-provided and default JSON objects in parallel. If any key in the user config does not exist in the defaults, throws a std::runtime_error with the offending key path.

Parameters
config_inUser-provided JSON configuration patch to validate.

Definition at line 45 of file EulerP_Evaluator.cpp.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: