transform_path_cuda#
The functions transform_path_cuda_float, transform_path_cuda_double, transform_path_cuda_int32 and
transform_path_cuda_int64 apply path transformations to paths of input type float, double,
int32 and int64 respectively. We provide documentation for transform_path_cuda_float
and omit it for the remaining functions as they are identical beyond input type.
-
int transform_path_cuda_float(const float *data_in, double *data_out, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
Applies time-augmentation and/or the lead-lag transformation to a path of type float.
- Parameters:
data_in – Pointer to input path data (row-major), size =
length * dimension.data_out – Pointer to output buffer (row-major, preallocated), size =
transformed_length * transformed_dimension, wheretransformed_length = lead_lag ? length_ * 2 - 1andtransformed_dimension = (lead_lag ? 2 : 1) * dimension + (time_aug ? 1 : 0).dimension – Dimension of the path.
length – Length of the path.
time_aug – Whether to add time augmentation (default = false).
lead_lag – Whether to apply the lead-lag transform (default = false).
end_time – End time for time augmentation (default = 1.0).
- Returns:
Status code (0 = success).
-
int transform_path_cuda_double(const double *data_in, double *data_out, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
-
int transform_path_cuda_int32(const int32_t *data_in, double *data_out, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
-
int transform_path_cuda_int64(const int64_t *data_in, double *data_out, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
batch_transform_path_cuda#
The functions batch_transform_path_cuda_float, batch_transform_path_cuda_double, batch_transform_path_cuda_int32 and
batch_transform_path_cuda_int64 apply path transformations to batches of paths of input type float, double,
int32 and int64 respectively. We provide documentation for batch_transform_path_cuda_float
and omit it for the remaining functions as they are identical beyond input type.
-
int batch_transform_path_cuda_float(const float *data_in, double *data_out, uint64_t batch_size, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
Applies time-augmentation and/or the lead-lag transformation to a batch of paths of type float.
- Parameters:
data_in – Pointer to input path data (row-major), size =
batch_size * length * dimension.data_out – Pointer to output buffer (row-major, preallocated), size =
batch_size * transformed_length * transformed_dimension, wheretransformed_length = lead_lag ? length_ * 2 - 1andtransformed_dimension = (lead_lag ? 2 : 1) * dimension + (time_aug ? 1 : 0).batch_size – Batch size of the paths.
dimension – Dimension of the paths.
length – Length of the paths.
time_aug – Whether to add time augmentation (default = false).
lead_lag – Whether to apply the lead-lag transform (default = false).
end_time – End time for time augmentation (default = 1.0).
- Returns:
Status code (0 = success).
-
int batch_transform_path_cuda_double(const double *data_in, double *data_out, uint64_t batch_size, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
-
int batch_transform_path_cuda_int32(const int32_t *data_in, double *data_out, uint64_t batch_size, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
-
int batch_transform_path_cuda_int64(const int64_t *data_in, double *data_out, uint64_t batch_size, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
transform_path_backprop_cuda#
-
int transform_path_backprop_cuda(const double *derivs, double *data_out, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
Backpropagation through the transform_path_cuda function.
- Parameters:
derivs – Pointer to derivatives with respect to transformed path (row-major), size =
transformed_length * transformed_dimension, wheretransformed_length = lead_lag ? length_ * 2 - 1andtransformed_dimension = (lead_lag ? 2 : 1) * dimension + (time_aug ? 1 : 0).data_out – Pointer to output buffer (row-major, preallocated), size =
length * dimension.dimension – Dimension of the original (pre-transformation) path.
length – Length of the original (pre-transformation) path.
time_aug – Whether time augmentation was applied (default = false).
lead_lag – Whether the lead-lag transform was applied (default = false).
end_time – End time for time augmentation (default = 1.0).
- Returns:
Status code (0 = success).
batch_transform_path_backprop_cuda#
-
int batch_transform_path_backprop_cuda(const double *derivs, double *data_out, uint64_t batch_size, uint64_t dimension, uint64_t length, bool time_aug, bool lead_lag, double end_time = 1.) noexcept#
Backpropagation through the batch_transform_path_cuda function.
- Parameters:
derivs – Pointer to derivatives with respect to transformed path (row-major), size =
batch_size * transformed_length * transformed_dimension, wheretransformed_length = lead_lag ? length_ * 2 - 1andtransformed_dimension = (lead_lag ? 2 : 1) * dimension + (time_aug ? 1 : 0).data_out – Pointer to output buffer (row-major, preallocated), size =
batch_size * length * dimension.batch_size – Batch size of the paths.
dimension – Dimension of the original (pre-transformation) paths.
length – Length of the original (pre-transformation) paths.
time_aug – Whether time augmentation was applied (default = false).
lead_lag – Whether the lead-lag transform was applied (default = false).
end_time – End time for time augmentation (default = 1.0).
- Returns:
Status code (0 = success).