mregblock.h File Reference


Detailed Description

Implementation of the register blocking heuristic based on modified block compressed sparse row (MBCSR) format.

This heuristic applies to matrices with block structure, and any OSKI kernel workload.

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

Go to the source code of this file.

Data Structures

struct  oski_mregblock_t
 Stores the results of evaluating the register blocking heuristic. More...
struct  oski_profile_MBCSRMatMult_t
 Stores a register blocking profile. More...

Name mangling.

#define oski_mregblock_t   MANGLE_(oski_mregblock_t)
#define oski_LoadProfileMBCSRMatMult   MANGLE_(oski_LoadProfileMBCSRMatMult)
#define oski_UnloadProfileMBCSRMatMult   MANGLE_(oski_UnloadProfileMBCSRMatMult)

Defines

#define INC_OSKI_HEUR_MREGBLOCK_H
 oski/heur/mregblock.h included.
#define PROF_MBCSR_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_MBCSR_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.

Functions

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


Function Documentation

const oski_profile_MBCSRMatMult_t* oski_LoadProfileMBCSRMatMult const char *  filename  ) 
 

Load the uniformly-aligned register blocking profile for sparse matrix-vector multiply.

This implementation


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