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
1.1.1.1

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")
 MATTRANSMATMULT descriptor.
#define OSKI_KERNEL_MatPowMult   5
 MatPowMult -- Multiplication by a matrix power, $A^k$.
#define OSKI_KERNEL_MatPowMult_REC   OSKI_KERNEL(MatPowMult, "MatPowMult")
 MatPowMult descriptor.

Defines

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

Typedefs

typedef tagBebop_kerinfo_t oski_kerinfo_t
 Kernel descriptor record.

Functions

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.

Parameters:
macro_tag Suffix for constant macro defining the kernel's unique id number.
name String name used to identify this kernel.
Returns:
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