10#ifndef OAKFIELD_NEURAL_TENSOR_MAP_H
11#define OAKFIELD_NEURAL_TENSOR_MAP_H
24#define SIM_NEURAL_TENSOR_MAX_RANK 5U
27#define SIM_NEURAL_TENSOR_CHANNEL_AXIS_AUTO 255U
Multidimensional contiguous field abstraction with configurable layout.
SimResult
Return codes shared by libsimcore modules.
Definition field.h:29
#define SIM_NEURAL_TENSOR_MAX_RANK
Definition neural_tensor_map.h:24
SimNeuralTensorMapConfig sim_neural_tensor_map_config_defaults(void)
Return default mapping config (batch=1, channels_last=true, auto channel axis).
SimResult sim_neural_tensor_map_output(SimField *field, const SimNeuralTensorMapConfig *config, SimNeuralTensorMapping *out_mapping)
Map a field as an output tensor view.
SimResult sim_neural_tensor_map_input(const SimField *field, const SimNeuralTensorMapConfig *config, SimNeuralTensorMapping *out_mapping)
Map a field as an input tensor view.
SimNeuralTensorValueType
Canonical value type exposed to tensor backends.
Definition neural_tensor_map.h:32
@ SIM_NEURAL_TENSOR_VALUE_REAL_F64
Definition neural_tensor_map.h:33
@ SIM_NEURAL_TENSOR_VALUE_COMPLEX_F64_INTERLEAVED
Definition neural_tensor_map.h:34
SimResult sim_neural_tensor_unmap_output(SimNeuralTensorMapping *mapping)
Commit output tensor results back into the mapped field.
void sim_neural_tensor_mapping_release(SimNeuralTensorMapping *mapping)
Release resources held by a tensor mapping handle.
SimNeuralTensorComplexMode
Complex-field encoding mode for tensor exposure.
Definition neural_tensor_map.h:40
@ SIM_NEURAL_TENSOR_COMPLEX_SPLIT_CHANNELS
Definition neural_tensor_map.h:42
@ SIM_NEURAL_TENSOR_COMPLEX_INTERLEAVED
Definition neural_tensor_map.h:41
Owning multidimensional field.
Definition field.h:157
Optional affine hook applied during mapping/unmapping.
Definition neural_tensor_map.h:51
double bias
Definition neural_tensor_map.h:54
double scale
Definition neural_tensor_map.h:53
bool enabled
Definition neural_tensor_map.h:52
Mapping policy from SimField layout to canonical tensor layout.
Definition neural_tensor_map.h:62
uint8_t channel_axis
Definition neural_tensor_map.h:63
SimNeuralTensorAffineHook affine
Definition neural_tensor_map.h:68
bool channels_last
Definition neural_tensor_map.h:64
size_t batch_size
Definition neural_tensor_map.h:66
SimNeuralTensorComplexMode complex_mode
Definition neural_tensor_map.h:67
Explicit copy/transform cost metrics emitted by mapping helpers.
Definition neural_tensor_map.h:91
bool used_copy_fallback
Definition neural_tensor_map.h:93
size_t affine_element_ops
Definition neural_tensor_map.h:96
size_t bytes_copied_from_field
Definition neural_tensor_map.h:94
size_t bytes_copied_to_field
Definition neural_tensor_map.h:95
bool zero_copy
Definition neural_tensor_map.h:92
Opaque-ish mapping handle used by input/output mapping paths.
Definition neural_tensor_map.h:106
SimField * field_mut
Definition neural_tensor_map.h:113
SimNeuralTensorView view
Definition neural_tensor_map.h:107
bool has_field_channel_axis
Definition neural_tensor_map.h:120
void * scratch
Definition neural_tensor_map.h:114
SimNeuralTensorMapMetrics metrics
Definition neural_tensor_map.h:108
SimNeuralTensorMapConfig config
Definition neural_tensor_map.h:109
uint8_t field_spatial_axes[3]
Definition neural_tensor_map.h:119
bool active
Definition neural_tensor_map.h:122
uint8_t field_channel_axis
Definition neural_tensor_map.h:117
bool output_mode
Definition neural_tensor_map.h:121
uint8_t field_spatial_rank
Definition neural_tensor_map.h:118
const SimField * field_const
Definition neural_tensor_map.h:112
size_t scratch_bytes
Definition neural_tensor_map.h:115
uint8_t field_rank
Definition neural_tensor_map.h:116
Canonical tensor view generated from a field.
Definition neural_tensor_map.h:76
size_t rank
Definition neural_tensor_map.h:80
size_t strides[SIM_NEURAL_TENSOR_MAX_RANK]
Definition neural_tensor_map.h:82
uint8_t batch_axis
Definition neural_tensor_map.h:83
size_t value_size
Definition neural_tensor_map.h:79
uint8_t spatial_rank
Definition neural_tensor_map.h:85
size_t shape[SIM_NEURAL_TENSOR_MAX_RANK]
Definition neural_tensor_map.h:81
uint8_t channel_axis
Definition neural_tensor_map.h:84
SimNeuralTensorValueType value_type
Definition neural_tensor_map.h:78
void * data
Definition neural_tensor_map.h:77