/* StarPU --- Runtime system for heterogeneous multicore architectures. * * Copyright (C) 2019-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. */ #ifndef __STARPU_FPGA_H__ #define __STARPU_FPGA_H__ #include #if defined STARPU_USE_FPGA //#include #include #ifdef __cplusplus extern "C" { #endif /** @defgroup API_FPGA_Extensions FPGA Extensions @{ */ //int starpu_fpga_allocate_memory(fpga_mem *addr, size_t size); struct starpu_fpga_data_trans { int size; float time; }; /** This specifies a Maxeler file to be loaded on some engines. */ struct starpu_max_load { max_file_t *file; /**< Provide the file to be loaded */ const char *engine_id_pattern; /**< Provide the engine(s) on which to be loaded, following the Maxeler engine naming, i.e. typically "local:0", "local:1", etc. In an array of struct starpu_max_load, only one can have the "*" specification. */ }; void starpu_fpga_report_configuration(void); /** set fpga device */ int starpu_fpga_set_device(unsigned devid); /** fpga is silent */ int starpu_fpga_is_silent(); /** Maxeler engine of the current worker */ max_engine_t *starpu_fpga_get_local_engine(void); /** @} */ #ifdef __cplusplus } #endif #endif /* STARPU_USE_FPGA */ #endif /* __STARPU_FPGA_H__ */