/* StarPU --- Runtime system for heterogeneous multicore architectures. * * Copyright (C) 2010-2015 Université de Bordeaux * Copyright (C) 2010-2014, 2016, 2017 CNRS * Copyright (C) 2014 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. */ #ifndef __STARPU_TASK_UTIL_H__ #define __STARPU_TASK_UTIL_H__ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif void starpu_create_sync_task(starpu_tag_t sync_tag, unsigned ndeps, starpu_tag_t *deps, void (*callback)(void *), void *callback_arg); /* NOTE: when adding a value here, please make sure to update both * src/util/starpu_task_insert_utils.c (in two places) and * mpi/src/starpu_mpi_task_insert.c and mpi/src/starpu_mpi_task_insert_fortran.c */ #define STARPU_MODE_SHIFT 17 #define STARPU_VALUE (1<