BeBOP Optimized Sparse Kernel Interface Library
1.0.1h
|
Describes the generic, matrix type-independent kernel implementations called by the user. More...
Files | |
file | a_and_at.h |
Sparse simultaneous multiplication by | |
file | ata.h |
Sparse | |
file | kerinfo.h |
Define the kernels available to the library. | |
file | matmult.h |
Sparse matrix-vector multiply implementation. | |
file | matpow.h |
Sparse | |
file | trisolve.h |
Sparse triangular solve implementation. |
Describes the generic, matrix type-independent kernel implementations called by the user.
This implementation includes five kernels:
The basic outline of each kernel's implementation is the same. Let the kernel call be KERNEL( A_tunable, ... ) where A_tunable is the matrix handle. Then KERNEL proceeds as follows:
The library implementation distinguishes between these matrix type-independent kernels and matrix type-specific kernels. For sparse matrix-vector multiply, oski_MatMult(), defined in the public interface, is the type-independent kernel. Its corresponding type-dependent implementation is called oski_MatReprMult() and defined in the matrix type's module (see MATTYPES_INTERFACE).