55 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
56 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
79 ref_ptr<OpBinary> op_multiply,
80 ref_ptr<OpBinary> op_add,
82 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
83 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
106 ref_ptr<Matrix> mask,
109 ref_ptr<OpBinary> op_multiply,
110 ref_ptr<OpBinary> op_add,
111 ref_ptr<OpSelect> op_select,
112 ref_ptr<Scalar> init,
113 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
114 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
135 ref_ptr<OpBinary> op_multiply,
136 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
137 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
159 ref_ptr<Vector> mask,
162 ref_ptr<OpBinary> op_multiply,
163 ref_ptr<OpBinary> op_add,
164 ref_ptr<OpSelect> op_select,
165 ref_ptr<Scalar> init,
166 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
167 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
189 ref_ptr<Vector> mask,
192 ref_ptr<OpBinary> op_multiply,
193 ref_ptr<OpBinary> op_add,
194 ref_ptr<OpSelect> op_select,
195 ref_ptr<Scalar> init,
196 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
197 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
215 ref_ptr<OpBinary> op,
216 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
217 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
235 ref_ptr<OpBinary> op,
236 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
237 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
256 ref_ptr<OpBinary> op_reduce,
257 ref_ptr<Scalar> init,
258 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
259 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
278 ref_ptr<OpBinary> op_reduce,
279 ref_ptr<Scalar> init,
280 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
281 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
301 ref_ptr<OpBinary> op_reduce,
302 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
303 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
321 ref_ptr<OpUnary> op_apply,
322 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
323 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
343 ref_ptr<OpUnary> op_apply,
344 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
345 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
365 ref_ptr<OpUnary> op_apply,
366 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
367 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
385 ref_ptr<OpBinary> op,
386 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
387 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
405 ref_ptr<OpBinary> op,
406 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
407 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
427 ref_ptr<OpBinary> op,
428 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
429 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
448 ref_ptr<Vector> mask,
449 ref_ptr<Scalar> value,
450 ref_ptr<OpBinary> op_assign,
451 ref_ptr<OpSelect> op_select,
452 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
453 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
472 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
473 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
493 ref_ptr<OpBinary> op_reduce,
494 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
495 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
518 ref_ptr<Descriptor> desc = ref_ptr<Descriptor>(),
519 ref_ptr<ScheduleTask>* task_hnd =
nullptr);
Callback function which can be scheduled in schedule.
Status of library operation execution.
#define SPLA_API
Definition: config.hpp:43
std::uint32_t uint
Library index and size type.
Definition: config.hpp:56
Definition: algorithm.hpp:37
Status exec_m_extract_column(ref_ptr< Vector > r, ref_ptr< Matrix > M, uint index, ref_ptr< OpUnary > op_apply, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) matrix column extract.
Definition: exec.cpp:284
Status exec_v_assign_masked(ref_ptr< Vector > r, ref_ptr< Vector > mask, ref_ptr< Scalar > value, ref_ptr< OpBinary > op_assign, ref_ptr< OpSelect > op_select, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) masked scalar assignment to a vector.
Definition: exec.cpp:348
Status exec_v_reduce(ref_ptr< Scalar > r, ref_ptr< Scalar > s, ref_ptr< Vector > v, ref_ptr< OpBinary > op_reduce, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) vector by structure reduction to a single scalar value.
Definition: exec.cpp:380
Status exec_vxm_masked(ref_ptr< Vector > r, ref_ptr< Vector > mask, ref_ptr< Vector > v, ref_ptr< Matrix > M, ref_ptr< OpBinary > op_multiply, ref_ptr< OpBinary > op_add, ref_ptr< OpSelect > op_select, ref_ptr< Scalar > init, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) dense-masked sparse vector by sparse matrix product.
Definition: exec.cpp:150
Status exec_mxmT_masked(ref_ptr< Matrix > R, ref_ptr< Matrix > mask, ref_ptr< Matrix > A, ref_ptr< Matrix > B, ref_ptr< OpBinary > op_multiply, ref_ptr< OpBinary > op_add, ref_ptr< OpSelect > op_select, ref_ptr< Scalar > init, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) sparse masked matrix matrix-transposed product.
Definition: exec.cpp:86
Status exec_v_map(ref_ptr< Vector > r, ref_ptr< Vector > v, ref_ptr< OpUnary > op, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) by structure map of one vector to another using unary operation.
Definition: exec.cpp:366
Status exec_v_eadd(ref_ptr< Vector > r, ref_ptr< Vector > u, ref_ptr< Vector > v, ref_ptr< OpBinary > op, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) element-wise addition by structure of two vectors.
Definition: exec.cpp:300
Status exec_m_eadd(ref_ptr< Matrix > R, ref_ptr< Matrix > A, ref_ptr< Matrix > B, ref_ptr< OpBinary > op, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) element-wise addition by structure of two matrices.
Definition: exec.cpp:174
Status exec_m_emult(ref_ptr< Matrix > R, ref_ptr< Matrix > A, ref_ptr< Matrix > B, ref_ptr< OpBinary > op, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) element-wise multiplication by structure of two matrices.
Definition: exec.cpp:190
Status exec_kron(ref_ptr< Matrix > R, ref_ptr< Matrix > A, ref_ptr< Matrix > B, ref_ptr< OpBinary > op_multiply, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) sparse masked matrix kronecker product.
Definition: exec.cpp:110
Status exec_m_reduce_by_column(ref_ptr< Vector > r, ref_ptr< Matrix > M, ref_ptr< OpBinary > op_reduce, ref_ptr< Scalar > init, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) matrix by column reduction to single vector column.
Definition: exec.cpp:222
Status exec_v_eadd_fdb(ref_ptr< Vector > r, ref_ptr< Vector > v, ref_ptr< Vector > fdb, ref_ptr< OpBinary > op, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) element-wise addition by structure of two vectors with feedback.
Definition: exec.cpp:332
Status exec_m_reduce_by_row(ref_ptr< Vector > r, ref_ptr< Matrix > M, ref_ptr< OpBinary > op_reduce, ref_ptr< Scalar > init, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) matrix by row reduction to single vector column.
Definition: exec.cpp:206
Status exec_m_extract_row(ref_ptr< Vector > r, ref_ptr< Matrix > M, uint index, ref_ptr< OpUnary > op_apply, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) matrix row extract.
Definition: exec.cpp:268
Status exec_callback(ScheduleCallback callback, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) callback function.
Definition: exec.cpp:56
Status exec_mxv_masked(ref_ptr< Vector > r, ref_ptr< Vector > mask, ref_ptr< Matrix > M, ref_ptr< Vector > v, ref_ptr< OpBinary > op_multiply, ref_ptr< OpBinary > op_add, ref_ptr< OpSelect > op_select, ref_ptr< Scalar > init, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) dense-masked sparse matrix by dense vector product.
Definition: exec.cpp:126
Status exec_v_count_mf(ref_ptr< Scalar > r, ref_ptr< Vector > v, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) count number of meaningful values by vector structure.
Definition: exec.cpp:396
Status exec_mxm(ref_ptr< Matrix > R, ref_ptr< Matrix > A, ref_ptr< Matrix > B, ref_ptr< OpBinary > op_multiply, ref_ptr< OpBinary > op_add, ref_ptr< Scalar > init, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) sparse-matrix sparse-matrix product.
Definition: exec.cpp:66
Status exec_m_transpose(ref_ptr< Matrix > R, ref_ptr< Matrix > M, ref_ptr< OpUnary > op_apply, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) matrix transpose operation.
Definition: exec.cpp:254
Status exec_m_reduce(ref_ptr< Scalar > r, ref_ptr< Scalar > s, ref_ptr< Matrix > M, ref_ptr< OpBinary > op_reduce, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) matrix by structure reduction to a single scalar value.
Definition: exec.cpp:238
Status exec_v_emult(ref_ptr< Vector > r, ref_ptr< Vector > u, ref_ptr< Vector > v, ref_ptr< OpBinary > op, ref_ptr< Descriptor > desc=ref_ptr< Descriptor >(), ref_ptr< ScheduleTask > *task_hnd=nullptr)
Execute (schedule) element-wise multiplication by structure of two vectors.
Definition: exec.cpp:316