| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | /* StarPU --- Runtime system for heterogeneous multicore architectures. * * Copyright (C) 2011                                     Inria * Copyright (C) 2011-2013,2017                           CNRS * Copyright (C) 2011-2013                                Université de Bordeaux * Copyright (C) 2011                                     William Braik, Yann Courtois, Jean-Marie Couteyen, Anthony * * StarPU is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or (at * your option) any later version. * * StarPU is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * See the GNU Lesser General Public License in COPYING.LGPL for more details. */#ifndef __STARPU_TOP_H__#define __STARPU_TOP_H__#include <starpu.h>#include <stdlib.h>#include <time.h>#ifdef __cplusplusextern "C"{#endifenum starpu_top_data_type{	STARPU_TOP_DATA_BOOLEAN,	STARPU_TOP_DATA_INTEGER,	STARPU_TOP_DATA_FLOAT};struct starpu_top_data{	unsigned int id;	const char *name;	int int_min_value;	int int_max_value;	double double_min_value;	double double_max_value;	int active;	enum starpu_top_data_type type;	struct starpu_top_data *next;};enum starpu_top_param_type{	STARPU_TOP_PARAM_BOOLEAN,	STARPU_TOP_PARAM_INTEGER,	STARPU_TOP_PARAM_FLOAT,	STARPU_TOP_PARAM_ENUM};struct starpu_top_param{	unsigned int id;	const char *name;	enum starpu_top_param_type type;	void *value;	char **enum_values;	int nb_values;	void (*callback)(struct starpu_top_param*);	int int_min_value;	int int_max_value;	double double_min_value;	double double_max_value;	struct starpu_top_param *next;};enum starpu_top_message_type{	TOP_TYPE_GO,	TOP_TYPE_SET,	TOP_TYPE_CONTINUE,	TOP_TYPE_ENABLE,	TOP_TYPE_DISABLE,	TOP_TYPE_DEBUG,	TOP_TYPE_UNKNOW};struct starpu_top_data *starpu_top_add_data_boolean(const char *data_name, int active);struct starpu_top_data *starpu_top_add_data_integer(const char *data_name, int minimum_value, int maximum_value, int active);struct starpu_top_data *starpu_top_add_data_float(const char *data_name, double minimum_value, double maximum_value, int active);struct starpu_top_param *starpu_top_register_parameter_boolean(const char *param_name, int *parameter_field, void (*callback)(struct starpu_top_param*));struct starpu_top_param *starpu_top_register_parameter_integer(const char *param_name, int *parameter_field, int minimum_value, int maximum_value, void (*callback)(struct starpu_top_param*));struct starpu_top_param *starpu_top_register_parameter_float(const char *param_name, double *parameter_field, double minimum_value, double maximum_value, void (*callback)(struct starpu_top_param*));struct starpu_top_param *starpu_top_register_parameter_enum(const char *param_name, int *parameter_field, char **values, int nb_values, void (*callback)(struct starpu_top_param*));void starpu_top_init_and_wait(const char *server_name);void starpu_top_update_parameter(const struct starpu_top_param *param);void starpu_top_update_data_boolean(const struct starpu_top_data *data, int value);void starpu_top_update_data_integer(const struct starpu_top_data *data, int value);void starpu_top_update_data_float(const struct starpu_top_data *data, double value);void starpu_top_task_prevision(struct starpu_task *task, int devid, unsigned long long start, unsigned long long end);void starpu_top_debug_log(const char *message);void starpu_top_debug_lock(const char *message);#ifdef __cplusplus}#endif#endif /* __STARPU_TOP_H__ */
 |