StarPU Handbook
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
starpu_perfmodel.h File Reference
#include <starpu.h>
#include <stdio.h>
#include <starpu_util.h>
#include <starpu_worker.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_NARCH
 
#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_ARCH, STARPU_COMMON, STARPU_HISTORY_BASED,
  STARPU_REGRESSION_BASED, STARPU_NL_REGRESSION_BASED
}
 

Functions

void starpu_perfmodel_init (FILE *f, struct starpu_perfmodel *model)
 
void starpu_perfmodel_free_sampling_directories (void)
 
struct starpu_perfmodel_archstarpu_worker_get_perf_archtype (int workerid, unsigned sched_ctx_id)
 
int starpu_perfmodel_load_symbol (const char *symbol, struct starpu_perfmodel *model)
 
int starpu_perfmodel_unload_model (struct starpu_perfmodel *model)
 
int starpu_get_narch_combs ()
 
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_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)
 
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_permodel_history_based_expected_perf (struct starpu_perfmodel *model, struct starpu_perfmodel_arch *arch, uint32_t footprint)
 
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_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_directory (FILE *output)
 
void starpu_bus_print_bandwidth (FILE *f)
 
void starpu_bus_print_affinity (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)
 

Data Structure Documentation

struct starpu_perfmodel_device
Data Fields
enum starpu_worker_archtype type
int devid
int ncores
struct starpu_perfmodel_arch
Data Fields
int ndevices
struct starpu_perfmodel_device * devices