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 |
1.4.6