| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | /* StarPU --- Runtime system for heterogeneous multicore architectures. * * Copyright (C) 2019                          CNRS * Copyright (C) 2019                          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. *//*! \page FPGASupport FPGA Support\section FPGA FPGA The use of specialized hardware such as accelerators or coprocessors offers aninteresting approach to overcome the physical limits encountered by processorarchitects. As a result, many machines are now equipped with one or severalaccelerators (e.g. a GPU), in addition to the usual processor(s). While a lot ofefforts have been devoted to offload computation onto such accelerators, verylittle attention as been paid to portability concerns on the one hand, and to thepossibility of having heterogeneous accelerators and processors to interact on the other hand. In addition, StarPU comes with programming language support, in the form of an OpenCL front-end (\ref FPGAextensions).\section PortingApplicationsToFPGA Porting Applications To FPGAThe way to port an application to FPGA is to set the fieldstarpu_codelet::fpga_funcs, to provide StarPU with the functionfor FPGA implementation, so for instance:\verbatimstruct starpu_codelet cl ={    .fpga_funcs = {myfunc},    .nbuffers = 1,}\endverbatim*/
 |