5#ifndef OAKFIELD_NEURAL_INFER_H
6#define OAKFIELD_NEURAL_INFER_H
20#define SIM_NEURAL_MODEL_ID_MAX 63U
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
SimResult(* SimNeuralInferenceFn)(void *userdata, const SimField *input, SimField *output, const SimNeuralInferenceRequest *request)
Callback surface for pluggable neural inference backends.
Definition neural_infer.h:53
SimNeuralBaseConfig SimNeuralInferOperatorConfig
Configuration for inference-only neural operator.
Definition neural_infer.h:81
SimResult sim_neural_infer_update(struct SimContext *context, size_t operator_index, const SimNeuralInferOperatorConfig *config)
Replace the configuration of a registered neural inference operator.
SimResult sim_neural_infer_config(struct SimContext *context, size_t operator_index, SimNeuralInferOperatorConfig *out_config)
Copy the current neural inference configuration from a registered operator.
SimResult sim_add_neural_infer_operator(struct SimContext *context, const SimNeuralInferOperatorConfig *config, size_t *out_index)
Register an inference-only neural operator.
#define SIM_NEURAL_MODEL_ID_MAX
Definition neural_infer.h:20
SimNeuralPrecisionMode
Numeric precision policy for neural inference operators.
Definition operator.h:198
SimNeuralDeterminismPolicy
Determinism policy for neural inference operators.
Definition operator.h:178
SimNeuralDeviceRequirement
Device placement requirement for neural inference operators.
Definition operator.h:188
Declarative complex-first operator splitting (substep expansion at plan time).
Simulation runtime state.
Definition sim_context.h:70
Owning multidimensional field.
Definition field.h:157
Shared base configuration for neural operators.
Definition neural_infer.h:59
SimNeuralDeviceRequirement device_requirement
Definition neural_infer.h:71
size_t output_field
Definition neural_infer.h:61
SimNeuralInferenceFn inference_fn
Definition neural_infer.h:74
SimNeuralPrecisionMode precision_mode
Definition neural_infer.h:72
SimNeuralDeterminismPolicy determinism_policy
Definition neural_infer.h:70
double input_bias
Definition neural_infer.h:67
double output_bias
Definition neural_infer.h:69
bool scale_by_dt
Definition neural_infer.h:64
char model_id[SIM_NEURAL_MODEL_ID_MAX+1U]
Definition neural_infer.h:62
void * inference_userdata
Definition neural_infer.h:75
SimNeuralShapeConstraints shape_constraints
Definition neural_infer.h:73
double output_scale
Definition neural_infer.h:68
size_t input_field
Definition neural_infer.h:60
double input_scale
Definition neural_infer.h:66
bool accumulate
Definition neural_infer.h:63
bool normalize_input
Definition neural_infer.h:65
Inference request metadata passed to neural callbacks.
Definition neural_infer.h:25
const char * model_id
Definition neural_infer.h:26
SimNeuralDeviceRequirement device_requirement
Definition neural_infer.h:28
double sim_time
Definition neural_infer.h:38
double input_bias
Definition neural_infer.h:33
SimNeuralShapeConstraints shape_constraints
Definition neural_infer.h:30
double output_bias
Definition neural_infer.h:35
SimNeuralPrecisionMode precision_mode
Definition neural_infer.h:29
double input_scale
Definition neural_infer.h:32
double output_scale
Definition neural_infer.h:34
bool normalize_input
Definition neural_infer.h:31
double dt
Definition neural_infer.h:37
SimNeuralDeterminismPolicy determinism_policy
Definition neural_infer.h:27
size_t step_index
Definition neural_infer.h:36
Shape and channel constraints used by neural operators.
Definition operator.h:213