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 , where and 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 , where and are 1-based. | |
Functions | |
const oski_profile_MBCSRMatMult_t * | oski_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. |
|
Load the uniformly-aligned register blocking profile for sparse matrix-vector multiply. This implementation |