StarPU Handbook - StarPU Installation
Loading...
Searching...
No Matches
starpu_perfmodel.h File Reference
#include <starpu.h>
#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  starpu_perfmodel_device
 
struct  starpu_perfmodel_arch
 
struct  starpu_perfmodel_history_entry
 
struct  starpu_perfmodel_history_list
 
struct  starpu_perfmodel_regression_model
 
struct  starpu_perfmodel_per_arch
 
struct  starpu_perfmodel
 

Macros

#define starpu_per_arch_perfmodel
 

Typedefs

typedef double(* starpu_perfmodel_per_arch_cost_function) (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl)
 
typedef size_t(* starpu_perfmodel_per_arch_size_base) (struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned nimpl)
 
typedef struct _starpu_perfmodel_state * starpu_perfmodel_state_t
 

Enumerations

enum  starpu_perfmodel_type {
  STARPU_PERFMODEL_INVALID , STARPU_PER_WORKER , STARPU_PER_ARCH , STARPU_COMMON ,
  STARPU_HISTORY_BASED , STARPU_REGRESSION_BASED , STARPU_NL_REGRESSION_BASED , STARPU_MULTIPLE_REGRESSION_BASED
}
 

Functions

void starpu_perfmodel_init (struct starpu_perfmodel *model)
 
int starpu_perfmodel_deinit (struct starpu_perfmodel *model)
 
int starpu_energy_start (int workerid, enum starpu_worker_archtype archi)
 
int starpu_energy_stop (struct starpu_perfmodel *model, struct starpu_task *task, unsigned nimpl, unsigned ntasks, int workerid, enum starpu_worker_archtype archi)
 
int starpu_perfmodel_load_file (const char *filename, struct starpu_perfmodel *model)
 
int starpu_perfmodel_load_symbol (const char *symbol, struct starpu_perfmodel *model)
 
int starpu_perfmodel_unload_model (struct starpu_perfmodel *model)
 
void starpu_save_history_based_model (struct starpu_perfmodel *model)
 
void starpu_perfmodel_get_model_path (const char *symbol, char *path, size_t maxlen)
 
void starpu_perfmodel_dump_xml (FILE *output, struct starpu_perfmodel *model)
 
void starpu_perfmodel_free_sampling (void)
 
struct starpu_perfmodel_archstarpu_worker_get_perf_archtype (int workerid, unsigned sched_ctx_id)
 
int starpu_perfmodel_get_narch_combs (void)
 
int starpu_perfmodel_arch_comb_add (int ndevices, struct starpu_perfmodel_device *devices)
 
int starpu_perfmodel_arch_comb_get (int ndevices, struct starpu_perfmodel_device *devices)
 
struct starpu_perfmodel_archstarpu_perfmodel_arch_comb_fetch (int comb)
 
struct starpu_perfmodel_per_archstarpu_perfmodel_get_model_per_arch (struct starpu_perfmodel *model, struct starpu_perfmodel_arch *arch, unsigned impl)
 
struct starpu_perfmodel_per_archstarpu_perfmodel_get_model_per_devices (struct starpu_perfmodel *model, int impl,...)
 
int starpu_perfmodel_set_per_devices_cost_function (struct starpu_perfmodel *model, int impl, starpu_perfmodel_per_arch_cost_function func,...)
 
int starpu_perfmodel_set_per_devices_size_base (struct starpu_perfmodel *model, int impl, starpu_perfmodel_per_arch_size_base func,...)
 
void starpu_perfmodel_debugfilepath (struct starpu_perfmodel *model, struct starpu_perfmodel_arch *arch, char *path, size_t maxlen, unsigned nimpl)
 
const char * starpu_perfmodel_get_archtype_name (enum starpu_worker_archtype archtype)
 
void starpu_perfmodel_get_arch_name (struct starpu_perfmodel_arch *arch, char *archname, size_t maxlen, unsigned nimpl)
 
double starpu_perfmodel_history_based_expected_perf (struct starpu_perfmodel *model, struct starpu_perfmodel_arch *arch, uint32_t footprint)
 
void starpu_perfmodel_initialize (void)
 
int starpu_perfmodel_list (FILE *output)
 
void starpu_perfmodel_print (struct starpu_perfmodel *model, struct starpu_perfmodel_arch *arch, unsigned nimpl, char *parameter, uint32_t *footprint, FILE *output)
 
int starpu_perfmodel_print_all (struct starpu_perfmodel *model, char *arch, char *parameter, uint32_t *footprint, FILE *output)
 
int starpu_perfmodel_print_estimations (struct starpu_perfmodel *model, uint32_t footprint, FILE *output)
 
int starpu_perfmodel_list_combs (FILE *output, struct starpu_perfmodel *model)
 
void starpu_perfmodel_update_history (struct starpu_perfmodel *model, struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned cpuid, unsigned nimpl, double measured)
 
void starpu_perfmodel_update_history_n (struct starpu_perfmodel *model, struct starpu_task *task, struct starpu_perfmodel_arch *arch, unsigned cpuid, unsigned nimpl, double average_measured, unsigned number)
 
void starpu_perfmodel_directory (FILE *output)
 
void starpu_bus_print_bandwidth (FILE *f)
 
void starpu_bus_print_affinity (FILE *f)
 
void starpu_bus_print_filenames (FILE *f)
 
double starpu_transfer_bandwidth (unsigned src_node, unsigned dst_node)
 
double starpu_transfer_latency (unsigned src_node, unsigned dst_node)
 
double starpu_transfer_predict (unsigned src_node, unsigned dst_node, size_t size)
 

Variables

struct starpu_perfmodel starpu_perfmodel_nop