module Any:sig
..end
A generic nvector interface to parallel nvectors.
Create parallel nvectors using the generic nvector interface where the payload is wrapped with the Par constructor.
val make : ?context:Sundials.Context.t ->
?with_fused_ops:bool ->
?with_linear_combination:bool ->
?with_scale_add_multi:bool ->
?with_dot_prod_multi:bool ->
?with_linear_sum_vector_array:bool ->
?with_scale_vector_array:bool ->
?with_const_vector_array:bool ->
?with_wrms_norm_vector_array:bool ->
?with_wrms_norm_mask_vector_array:bool ->
?with_scale_add_multi_vector_array:bool ->
?with_linear_combination_vector_array:bool ->
?with_dot_prod_multi_local:bool ->
int -> int -> Mpi.communicator -> float -> Nvector.any
make nl ng c iv
creates a new parallel nvector with nl
local elements,
that is part of a global array with ng
elements. The local elements are
initialized to iv
, and communications occur on c
.
The optional argument enables the fused and array operations for a given nvector (they are disabled by default).
Config.NotImplementedBySundialsVersion
Fused and array operations not available.val wrap : ?context:Sundials.Context.t ->
?with_fused_ops:bool ->
?with_linear_combination:bool ->
?with_scale_add_multi:bool ->
?with_dot_prod_multi:bool ->
?with_linear_sum_vector_array:bool ->
?with_scale_vector_array:bool ->
?with_const_vector_array:bool ->
?with_wrms_norm_vector_array:bool ->
?with_wrms_norm_mask_vector_array:bool ->
?with_scale_add_multi_vector_array:bool ->
?with_linear_combination_vector_array:bool ->
?with_dot_prod_multi_local:bool -> Nvector_parallel.data -> Nvector.any
wrap a
creates a new parallel nvector from a
.
The optional arguments permit to enable all the fused and array operations for a given nvector (they are disabled by default).
Config.NotImplementedBySundialsVersion
Fused and array operations not available.val unwrap : Nvector.any -> Nvector_parallel.data
Returns the payload of the generic vector if it was constructed with
Par and a parallel payload, otherwise
raises Nvector.BadGenericType
.
val enable : ?with_fused_ops:bool ->
?with_linear_combination:bool ->
?with_scale_add_multi:bool ->
?with_dot_prod_multi:bool ->
?with_linear_sum_vector_array:bool ->
?with_scale_vector_array:bool ->
?with_const_vector_array:bool ->
?with_wrms_norm_vector_array:bool ->
?with_wrms_norm_mask_vector_array:bool ->
?with_scale_add_multi_vector_array:bool ->
?with_linear_combination_vector_array:bool ->
?with_dot_prod_multi_local:bool -> Nvector.any -> unit
Selectively enable or disable fused and array operations.
The with_fused_ops
argument enables or disables all such operations.
Nvector.BadGenericType
If not called on a parallel nvectorConfig.NotImplementedBySundialsVersion
Fused and array operations not available.