00001
00007 #if !defined(INC_BENCH_WORKLOAD_H)
00008
00009 #define INC_BENCH_WORKLOAD_H
00010
00011 #include <oski/oski.h>
00012 #include <oski/simplelist.h>
00013 #include <oski/mangle.h>
00014 #include "keropts.h"
00015
00016 #if defined(DO_NAME_MANGLING)
00017
00019 #define workload_CreateData MANGLE_(workload_CreateData)
00020 #define workload_SetHints MANGLE_(workload_SetHints)
00021 #define workload_Run MANGLE_(workload_Run)
00022 #define workload_CountFlopsPerNz MANGLE_(workload_CountFlopsPerNz)
00023
00024 #endif
00025
00027 void workload_CreateData (oski_index_t num_rows, oski_index_t num_cols,
00028 simplelist_t * workload);
00029
00031 void workload_SetHints (oski_matrix_t A, simplelist_t * workload,
00032 int always_tune);
00033
00035 void workload_Run (const oski_matrix_t A, const simplelist_t * workload);
00036
00041 double workload_CountFlopsPerNz (const simplelist_t * workload);
00042
00043 #endif
00044