|
@@ -17,5 +17,33 @@
|
|
|
|
|
|
/*! \page FPGASupport FPGA Support
|
|
|
|
|
|
+\section FPGA FPGA
|
|
|
+
|
|
|
+The use of specialized hardware such as accelerators or coprocessors offers an
|
|
|
+interesting approach to overcome the physical limits encountered by processor
|
|
|
+architects. As a result, many machines are now equipped with one or several
|
|
|
+accelerators (e.g. a GPU), in addition to the usual processor(s). While a lot of
|
|
|
+efforts have been devoted to offload computation onto such accelerators, very
|
|
|
+little attention as been paid to portability concerns on the one hand, and to the
|
|
|
+possibility 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 FPGA
|
|
|
+
|
|
|
+The simplest way to port an application to FPGA is to set the field
|
|
|
+starpu_codelet::fpga_funcs_name, to provide StarPU with the function
|
|
|
+name of the FPGA implementation, so for instance:
|
|
|
+
|
|
|
+\verbatim
|
|
|
+struct starpu_codelet cl =
|
|
|
+{
|
|
|
+ .fpga_funcs = {myfunc},
|
|
|
+ .fpga_funcs_name = {"myfunc"},
|
|
|
+ .nbuffers = 1,
|
|
|
+}
|
|
|
+\endverbatim
|
|
|
+
|
|
|
+
|
|
|
|
|
|
*/
|