load_data_interface.h
Go to the documentation of this file.
/* StarPU --- Runtime system for heterogeneous multicore architectures.
*
* Copyright (C) 2016-2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
*
* 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.
*/
#include <starpu.h>
#ifndef __LOAD_DATA_INTERFACE_H
#define __LOAD_DATA_INTERFACE_H
struct load_data_interface
{
double start;
double elapsed_time;
int phase;
int nsubmitted_tasks;
int nfinished_tasks;
int sleep_task_threshold;
int wakeup_task_threshold;
double wakeup_ratio;
};
void load_data_data_register(starpu_data_handle_t *handle, unsigned home_node, int sleep_task_threshold, double wakeup_ratio);
int load_data_get_sleep_threshold(starpu_data_handle_t handle);
int load_data_get_wakeup_threshold(starpu_data_handle_t handle);
int load_data_get_current_phase(starpu_data_handle_t handle);
int load_data_get_nsubmitted_tasks(starpu_data_handle_t handle);
int load_data_get_nfinished_tasks(starpu_data_handle_t handle);
int load_data_inc_nsubmitted_tasks(starpu_data_handle_t handle);
int load_data_inc_nfinished_tasks(starpu_data_handle_t handle);
int load_data_next_phase(starpu_data_handle_t handle);
int load_data_update_elapsed_time(starpu_data_handle_t handle);
double load_data_get_elapsed_time(starpu_data_handle_t handle);
int load_data_update_wakeup_cond(starpu_data_handle_t handle);
int load_data_wakeup_cond(starpu_data_handle_t handle);
#define LOAD_DATA_GET_NSUBMITTED_TASKS(interface) (((struct load_data_interface *)(interface))->nsubmitted_tasks)
#define LOAD_DATA_GET_SLEEP_THRESHOLD(interface) (((struct load_data_interface *)(interface))->sleep_task_threshold)
#define LOAD_DATA_GET_WAKEUP_THRESHOLD(interface) (((struct load_data_interface *)(interface))->wakeup_task_threshold)
#endif /* __LOAD_DATA_INTERFACE_H */
load_data_interface::nfinished_tasks
int nfinished_tasks
Definition: load_data_interface.h:38
load_data_interface::wakeup_ratio
double wakeup_ratio
Definition: load_data_interface.h:45
load_data_interface::elapsed_time
double elapsed_time
Definition: load_data_interface.h:31
load_data_interface::phase
int phase
Definition: load_data_interface.h:34
load_data_interface::nsubmitted_tasks
int nsubmitted_tasks
Definition: load_data_interface.h:36
load_data_interface::sleep_task_threshold
int sleep_task_threshold
Definition: load_data_interface.h:40
load_data_interface::wakeup_task_threshold
int wakeup_task_threshold
Definition: load_data_interface.h:42
load_data_interface::start
double start
Definition: load_data_interface.h:28
load_data_interface
Definition: load_data_interface.h:26