spla
Loading...
Searching...
No Matches
c_exec.cpp File Reference
#include "c_config.hpp"
Include dependency graph for c_exec.cpp:

Macros

#define SPLA_WRAP_EXEC(what, ...)
 
#define AS_S(x)
 
#define AS_M(x)
 
#define AS_V(x)
 
#define AS_OB(x)
 
#define AS_OU(x)
 
#define AS_OS(x)
 

Functions

spla_Status spla_Exec_mxm (spla_Matrix R, spla_Matrix A, spla_Matrix B, spla_OpBinary op_multiply, spla_OpBinary op_add, spla_Scalar init, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_mxmT_masked (spla_Matrix R, spla_Matrix mask, spla_Matrix A, spla_Matrix B, spla_OpBinary op_multiply, spla_OpBinary op_add, spla_OpSelect op_select, spla_Scalar init, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_kron (spla_Matrix R, spla_Matrix A, spla_Matrix B, spla_OpBinary op_multiply, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_mxv_masked (spla_Vector r, spla_Vector mask, spla_Matrix M, spla_Vector v, spla_OpBinary op_multiply, spla_OpBinary op_add, spla_OpSelect op_select, spla_Scalar init, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_vxm_masked (spla_Vector r, spla_Vector mask, spla_Vector v, spla_Matrix M, spla_OpBinary op_multiply, spla_OpBinary op_add, spla_OpSelect op_select, spla_Scalar init, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_m_eadd (spla_Matrix R, spla_Matrix A, spla_Matrix B, spla_OpBinary op, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_m_emult (spla_Matrix R, spla_Matrix A, spla_Matrix B, spla_OpBinary op, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_m_reduce_by_row (spla_Vector r, spla_Matrix M, spla_OpBinary op_reduce, spla_Scalar init, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_m_reduce_by_column (spla_Vector r, spla_Matrix M, spla_OpBinary op_reduce, spla_Scalar init, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_m_reduce (spla_Scalar r, spla_Scalar s, spla_Matrix M, spla_OpBinary op_reduce, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_m_transpose (spla_Matrix R, spla_Matrix M, spla_OpUnary op_apply, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_m_extract_row (spla_Vector r, spla_Matrix M, spla_uint index, spla_OpUnary op_apply, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_m_extract_column (spla_Vector r, spla_Matrix M, spla_uint index, spla_OpUnary op_apply, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_v_eadd (spla_Vector r, spla_Vector u, spla_Vector v, spla_OpBinary op, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_v_emult (spla_Vector r, spla_Vector u, spla_Vector v, spla_OpBinary op, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_v_eadd_fdb (spla_Vector r, spla_Vector v, spla_Vector fdb, spla_OpBinary op, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_v_assign_masked (spla_Vector r, spla_Vector mask, spla_Scalar value, spla_OpBinary op_assign, spla_OpSelect op_select, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_v_map (spla_Vector r, spla_Vector v, spla_OpUnary op, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_v_reduce (spla_Scalar r, spla_Scalar s, spla_Vector v, spla_OpBinary op_reduce, spla_Descriptor desc, spla_ScheduleTask *task)
 
spla_Status spla_Exec_v_count_mf (spla_Scalar r, spla_Vector v, spla_Descriptor desc, spla_ScheduleTask *task)
 

Macro Definition Documentation

◆ AS_M

#define AS_M ( x)
Value:
as_ref<spla::Matrix>(x)

◆ AS_OB

#define AS_OB ( x)
Value:
as_ref<spla::OpBinary>(x)

◆ AS_OS

#define AS_OS ( x)
Value:
as_ref<spla::OpSelect>(x)

◆ AS_OU

#define AS_OU ( x)
Value:
as_ref<spla::OpUnary>(x)

◆ AS_S

#define AS_S ( x)
Value:
as_ref<spla::Scalar>(x)

◆ AS_V

#define AS_V ( x)
Value:
as_ref<spla::Vector>(x)

◆ SPLA_WRAP_EXEC

#define SPLA_WRAP_EXEC ( what,
... )
Value:
const spla::Status status = spla::what(__VA_ARGS__, as_ref<spla::Descriptor>(desc), (task ? &ref_task : nullptr)); \
if (status == spla::Status::Ok && task) { \
*task = as_ptr<spla_ScheduleTask_t>(ref_task.release()); \
return SPLA_STATUS_OK; \
} \
return to_c_status(status);
Automates reference counting and behaves as shared smart pointer.
Definition ref.hpp:117
T * release()
Definition ref.hpp:196
Status
Definition config.hpp:62

Function Documentation

◆ spla_Exec_kron()

spla_Status spla_Exec_kron ( spla_Matrix R,
spla_Matrix A,
spla_Matrix B,
spla_OpBinary op_multiply,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_m_eadd()

spla_Status spla_Exec_m_eadd ( spla_Matrix R,
spla_Matrix A,
spla_Matrix B,
spla_OpBinary op,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_m_emult()

spla_Status spla_Exec_m_emult ( spla_Matrix R,
spla_Matrix A,
spla_Matrix B,
spla_OpBinary op,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_m_extract_column()

spla_Status spla_Exec_m_extract_column ( spla_Vector r,
spla_Matrix M,
spla_uint index,
spla_OpUnary op_apply,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_m_extract_row()

spla_Status spla_Exec_m_extract_row ( spla_Vector r,
spla_Matrix M,
spla_uint index,
spla_OpUnary op_apply,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_m_reduce()

spla_Status spla_Exec_m_reduce ( spla_Scalar r,
spla_Scalar s,
spla_Matrix M,
spla_OpBinary op_reduce,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_m_reduce_by_column()

spla_Status spla_Exec_m_reduce_by_column ( spla_Vector r,
spla_Matrix M,
spla_OpBinary op_reduce,
spla_Scalar init,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_m_reduce_by_row()

spla_Status spla_Exec_m_reduce_by_row ( spla_Vector r,
spla_Matrix M,
spla_OpBinary op_reduce,
spla_Scalar init,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_m_transpose()

spla_Status spla_Exec_m_transpose ( spla_Matrix R,
spla_Matrix M,
spla_OpUnary op_apply,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_mxm()

spla_Status spla_Exec_mxm ( spla_Matrix R,
spla_Matrix A,
spla_Matrix B,
spla_OpBinary op_multiply,
spla_OpBinary op_add,
spla_Scalar init,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_mxmT_masked()

spla_Status spla_Exec_mxmT_masked ( spla_Matrix R,
spla_Matrix mask,
spla_Matrix A,
spla_Matrix B,
spla_OpBinary op_multiply,
spla_OpBinary op_add,
spla_OpSelect op_select,
spla_Scalar init,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_mxv_masked()

spla_Status spla_Exec_mxv_masked ( spla_Vector r,
spla_Vector mask,
spla_Matrix M,
spla_Vector v,
spla_OpBinary op_multiply,
spla_OpBinary op_add,
spla_OpSelect op_select,
spla_Scalar init,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_v_assign_masked()

spla_Status spla_Exec_v_assign_masked ( spla_Vector r,
spla_Vector mask,
spla_Scalar value,
spla_OpBinary op_assign,
spla_OpSelect op_select,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_v_count_mf()

spla_Status spla_Exec_v_count_mf ( spla_Scalar r,
spla_Vector v,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_v_eadd()

spla_Status spla_Exec_v_eadd ( spla_Vector r,
spla_Vector u,
spla_Vector v,
spla_OpBinary op,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_v_eadd_fdb()

spla_Status spla_Exec_v_eadd_fdb ( spla_Vector r,
spla_Vector v,
spla_Vector fdb,
spla_OpBinary op,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_v_emult()

spla_Status spla_Exec_v_emult ( spla_Vector r,
spla_Vector u,
spla_Vector v,
spla_OpBinary op,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_v_map()

spla_Status spla_Exec_v_map ( spla_Vector r,
spla_Vector v,
spla_OpUnary op,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_v_reduce()

spla_Status spla_Exec_v_reduce ( spla_Scalar r,
spla_Scalar s,
spla_Vector v,
spla_OpBinary op_reduce,
spla_Descriptor desc,
spla_ScheduleTask * task )

◆ spla_Exec_vxm_masked()

spla_Status spla_Exec_vxm_masked ( spla_Vector r,
spla_Vector mask,
spla_Vector v,
spla_Matrix M,
spla_OpBinary op_multiply,
spla_OpBinary op_add,
spla_OpSelect op_select,
spla_Scalar init,
spla_Descriptor desc,
spla_ScheduleTask * task )