BeBOP Optimized Sparse Kernel Interface Library  1.0.1h
Data Structures | Defines | Functions
regblock.h File Reference

Implementation of the basic register blocking heuristic for sparse matrix-vector multiply (as described in the Sparsity SC'02 and IJHPCA'04 papers), based on block compressed sparse row format. More...

#include <oski/common.h>
#include <oski/modcommon.h>
#include <oski/heurexport.h>

Go to the source code of this file.

Data Structures

struct  oski_regblock_t
 Stores the results of evaluating the register blocking heuristic. More...
struct  oski_profile_BCSRMatMult_t
 Stores a register blocking profile. More...

Defines

#define INC_OSKI_HEUR_REGBLOCK_H
 oski/heur/regblock.h included.
#define PROF_BCSR_GET(P, r, c)   ((P)->perf[((r)-1)*(P)->max_c + (c)-1])
 Returns the performance (Mflop/s) at a block size $r\times c$, where $r$ and $c$ are 1-based.
#define PROF_BCSR_SET(P, r, c, v)   ((P)->perf[((r)-1)*(P)->max_c + (c)-1] = (v))
 Set the performance (Mflop/s) at a block size $r\times c$, where $r$ and $c$ are 1-based.
Name mangling.
#define oski_regblock_t   MANGLE_(oski_regblock_t)
#define oski_LoadProfileBCSRMatMult   MANGLE_(oski_LoadProfileBCSRMatMult)
#define oski_UnloadProfileBCSRMatMult   MANGLE_(oski_UnloadProfileBCSRMatMult)

Functions

const oski_profile_BCSRMatMult_toski_LoadProfileBCSRMatMult (const char *filename)
 Load the uniformly-aligned register blocking profile for sparse matrix-vector multiply.
void oski_UnloadProfileBCSRMatMult (void)
 Unload the uniformly-aligned register blocking profile for sparse matrix-vector multiply.

Detailed Description

Implementation of the basic register blocking heuristic for sparse matrix-vector multiply (as described in the Sparsity SC'02 and IJHPCA'04 papers), based on block compressed sparse row format.


Define Documentation