Explorar o código

add empty files for documentation

Nathalie Furmento %!s(int64=5) %!d(string=hai) anos
pai
achega
0729923b6d

+ 3 - 0
doc/doxygen/Makefile.am

@@ -75,6 +75,7 @@ chapters =	\
 	chapters/415_fault_tolerance.doxy	\
 	chapters/420_fft_support.doxy		\
 	chapters/430_mic_support.doxy		\
+	chapters/440_fpga_support.doxy		\
 	chapters/450_native_fortran_support.doxy		\
 	chapters/460_socl_opencl_extensions.doxy		\
 	chapters/470_simgrid.doxy		\
@@ -103,6 +104,7 @@ chapters =	\
 	chapters/api/mpi.doxy \
 	chapters/api/opencl_extensions.doxy \
 	chapters/api/openmp_runtime_support.doxy \
+	chapters/api/fpga_extensions.doxy \
 	chapters/api/mic_extensions.doxy \
 	chapters/api/scheduling_contexts.doxy \
 	chapters/api/scheduling_policy.doxy \
@@ -211,6 +213,7 @@ dox_inputs = $(DOX_CONFIG) 				\
 	$(top_srcdir)/include/starpu_fxt.h		\
 	$(top_srcdir)/include/starpu_hash.h		\
 	$(top_srcdir)/include/starpu_mic.h		\
+	$(top_srcdir)/include/starpu_fpga.h		\
 	$(top_srcdir)/include/starpu_mod.f90		\
 	$(top_srcdir)/include/starpu_opencl.h		\
 	$(top_srcdir)/include/starpu_openmp.h		\

+ 21 - 0
doc/doxygen/chapters/440_fpga_support.doxy

@@ -0,0 +1,21 @@
+/* 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
+
+
+*/

+ 29 - 0
doc/doxygen/chapters/api/fpga_extensions.doxy

@@ -0,0 +1,29 @@
+/* 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.
+ */
+
+/*! \ingroup API_FPGA_Extensions
+
+\def STARPU_USE_FPGA
+\ingroup API_FPGA_Extensions
+Defined when StarPU has been installed with FPGA support.
+It should be used in your code to detect the availability of FPGA.
+
+\def STARPU_MAXFPGADEVS
+\ingroup API_FPGA_Extensions
+Define the maximum number of FPGA devices that are supported by StarPU.
+
+*/

+ 1 - 0
doc/doxygen/doxygen-config.cfg.in

@@ -35,6 +35,7 @@ INPUT                  = @top_srcdir@/doc/doxygen/chapters \
 			 @top_srcdir@/include/starpu_disk.h \
 			 @top_srcdir@/include/starpu_driver.h \
 			 @top_srcdir@/include/starpu_expert.h \
+			 @top_srcdir@/include/starpu_fpga.h \
 			 @top_srcdir@/include/starpu_fxt.h \
 			 @top_srcdir@/include/starpu.h \
 			 @top_srcdir@/include/starpu_hash.h \

+ 1 - 0
doc/doxygen/doxygen.cfg

@@ -1618,6 +1618,7 @@ INCLUDE_FILE_PATTERNS  =
 PREDEFINED             = STARPU_USE_OPENCL=1 \
                          STARPU_USE_CUDA=1 \
                          STARPU_USE_MIC=1 \
+                         STARPU_USE_FPGA=1 \
 			 STARPU_USE_MPI=1 \
 			 STARPU_HAVE_HWLOC=1 \
 			 STARPU_USE_SC_HYPERVISOR=1 \

+ 7 - 0
doc/doxygen/refman.tex

@@ -169,6 +169,11 @@ Documentation License”.
 \hypertarget{MICSupport}{}
 \input{MICSupport}
 
+\chapter{FPGA Support}
+\label{FPGASupport}
+\hypertarget{FPGASupport}{}
+\input{FPGASupport}
+
 \chapter{Native Fortran Support}
 \label{NativeFortranSupport}
 \hypertarget{NativeFortranSupport}{}
@@ -244,6 +249,7 @@ Documentation License”.
 \input{group__API__OpenCL__Extensions}
 \input{group__API__OpenMP__Runtime__Support}
 \input{group__API__MIC__Extensions}
+\input{group__API__FPGA__Extensions}
 \input{group__API__Miscellaneous__Helpers}
 \input{group__API__FxT__Support}
 \input{group__API__FFT__Support}
@@ -289,6 +295,7 @@ Documentation License”.
 \input{starpu__disk_8h}
 \input{starpu__driver_8h}
 \input{starpu__expert_8h}
+%\input{starpu__fpga_8h}
 \input{starpu__fxt_8h}
 \input{starpu__hash_8h}
 \input{starpu__helper_8h}

+ 1 - 0
include/starpu.h

@@ -85,6 +85,7 @@ typedef INT_PTR intptr_t;
 #include <starpu_clusters.h>
 #include <starpu_perf_monitoring.h>
 #include <starpu_perf_steering.h>
+#include <starpu_fpga.h>
 
 #ifdef __cplusplus
 extern "C"

+ 1 - 2
include/starpu_config.h.in

@@ -35,6 +35,7 @@
 #undef STARPU_USE_OPENCL
 #undef STARPU_USE_MIC
 #undef STARPU_USE_MPI_MASTER_SLAVE
+#undef STARPU_USE_FPGA
 
 #undef STARPU_OPENMP
 #undef STARPU_CLUSTER
@@ -110,9 +111,7 @@
 #undef STARPU_MAXCPUS
 #undef STARPU_MAXNUMANODES
 #undef STARPU_MAXCUDADEVS
-// BEGIN FPGA
 #undef STARPU_MAXFPGADEVS
-// END FPGA
 #undef STARPU_MAXOPENCLDEVS
 #undef STARPU_MAXMICDEVS
 #undef STARPU_NMAXWORKERS

+ 17 - 6
include/starpu_fpga.h

@@ -1,7 +1,7 @@
 /* StarPU --- Runtime system for heterogeneous multicore architectures.
  *
  * Copyright (C) 2010-2012, 2014  Université de Bordeaux
- * Copyright (C) 2010, 2011, 2012, 2013  CNRS
+ * Copyright (C) 2010, 2011, 2012, 2013, 2019  CNRS
  *
  * 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
@@ -20,7 +20,7 @@
 
 #include <starpu_config.h>
 
-#if defined STARPU_USE_FPGA && !defined STARPU_DONT_INCLUDE_FPGA_HEADERS
+#if defined STARPU_USE_FPGA
 //#include <fpga.h>
 
 #ifdef __cplusplus
@@ -28,18 +28,28 @@ extern "C"
 {
 #endif
 
+/**
+   @defgroup API_FPGA_Extensions FPGA Extensions
+   @{
+*/
+
 //int starpu_fpga_allocate_memory(fpga_mem *addr, size_t size);
-typedef struct data_exchange_log{
+typedef struct data_exchange_log
+{
         int size;
         float time;
 } fpga_trans;
 
-typedef struct properties{
+typedef struct properties
+{
         int totalGlobalMem;
         int concurrentKernels;
         char *name;
 } fpgaDeviceProp;
 
+/**
+   get device properties
+ */
 int fpgaGetDeviceProperties(fpgaDeviceProp *,unsigned devid);
 
 void fpga_report_configuration(void);
@@ -50,10 +60,11 @@ int fpgaSetDevice(unsigned devid);
 
 int fpga_is_silent();
 
+/** @} */
+
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* STARPU_USE_FPGA && !STARPU_DONT_INCLUDE_FPGA_HEADERS */
+#endif /* STARPU_USE_FPGA */
 #endif /* __STARPU_FPGA_H__ */
-

+ 8 - 6
src/drivers/max/driver_fpga.h

@@ -17,11 +17,9 @@
 
 #ifndef __DRIVER_FPGA_H__
 #define __DRIVER_FPGA_H__
-//#ifdef NOT_DEFINED
-	#ifdef STARPU_USE_FPGA
-	#include <starpu_fpga.h>
-	#endif
-//#endif
+#ifdef STARPU_USE_FPGA
+#include <starpu_fpga.h>
+#endif
 #include <starpu.h>
 #include <common/config.h>
 
@@ -35,10 +33,14 @@ typedef unsigned * fpga_mem;
 extern struct _starpu_driver_ops _starpu_driver_fpga_ops;
 extern struct _starpu_node_ops _starpu_driver_fpga_node_ops;
 
+#ifdef STARPU_USE_FPGA
+void _starpu_fpga_discover_devices (struct _starpu_machine_config *config);
+#else
+#define _starpu_fpga_discover_devices(config) ((void) (config))
+#endif
 
 int fpgaSetDevice(unsigned devid);
 void _starpu_init_fpga(void);
-void _starpu_fpga_discover_devices (struct _starpu_machine_config *config);
 unsigned _starpu_fpga_get_device_count(void);
 
 static void _starpu_fpga_limit_global_mem(unsigned );