kerinfo.h File Reference

Detailed Description

Define the kernels available to the library.

This module (see also: kerinfo.c) defines all available sparse matrix kernels that users may call. Among other reasons, the library this information to create fully-qualified dynamic library names for the matrix type-specific kernel implementations.

Information about new kernels should be defined here. Optionally, the corresponding test program should be modified to check for the new kernels (see "tests" subdirectory for the 'info' test).


Revision history:

Go to the source code of this file.

Data Structures

struct  tagBebop_kerinfo_t
 Kernel descriptor record. More...

Available kernels.

To make a new kernel available to the system, define a record here. By default, we predefine the kernels listed below.

#define OSKI_KERNEL_MatMult   1
 MATMULT -- Sparse matrix-vector multiply.
#define OSKI_KERNEL_MatMult_REC   OSKI_KERNEL(MatMult, "MatMult")
 MATMULT descriptor.
#define OSKI_KERNEL_MatTrisolve   2
 MatTrisolve -- Sparse triangular solve.
#define OSKI_KERNEL_MatTrisolve_REC   OSKI_KERNEL(MatTrisolve, "MatTrisolve")
 MatTrisolve descriptor.
#define OSKI_KERNEL_MatMultAndMatTransMult   3
 MatMultAndMatTransMult -- Simultaneous multiplication by a sparse matrix and its transpose.
#define OSKI_KERNEL_MatMultAndMatTransMult_REC   OSKI_KERNEL(MatMultAndMatTransMult, "MatMultAndMatTransMult")
 MatMultAndMatTransMult descriptor.
#define OSKI_KERNEL_MatTransMatMult   4
 MatTransMatMult -- Multiplication by sparse $A^TA$.
#define OSKI_KERNEL_MatTransMatMult_REC   OSKI_KERNEL(MatTransMatMult, "MatTransMatMult")
#define OSKI_KERNEL_MatPowMult   5
 MatPowMult -- Multiplication by a matrix power, $A^k$.
#define OSKI_KERNEL_MatPowMult_REC   OSKI_KERNEL(MatPowMult, "MatPowMult")
 MatPowMult descriptor.


 oski/kerinfo.h has been included.
#define OSKI_KERNEL(macro_tag, name)   {OSKI_KERNEL_##macro_tag, name}
 Macro used to define a new kernel.
 NULL (end) record.
 END descriptor.


typedef tagBebop_kerinfo_t oski_kerinfo_t
 Kernel descriptor record.


const oski_kerinfo_toski_LookupKernelInfo (oski_id_t id)
 Lookup information about a kernel.

Define Documentation

#define OSKI_KERNEL macro_tag,
name   )     {OSKI_KERNEL_##macro_tag, name}

Macro used to define a new kernel.

macro_tag Suffix for constant macro defining the kernel's unique id number.
name String name used to identify this kernel.
Defines an initialization record for oski_kerinfo_t.

Generated on Wed Sep 19 16:41:22 2007 for BeBOP Optimized Sparse Kernel Interface Library by  doxygen 1.4.6