starpu_config.h 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. /* include/starpu_config.h. Generated from starpu_config.h.in by configure. */
  2. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  3. *
  4. * Copyright (C) 2009-2020 Université de Bordeaux, CNRS (LaBRI UMR 5800), Inria
  5. * Copyright (C) 2020 Federal University of Rio Grande do Sul (UFRGS)
  6. *
  7. * StarPU is free software; you can redistribute it and/or modify
  8. * it under the terms of the GNU Lesser General Public License as published by
  9. * the Free Software Foundation; either version 2.1 of the License, or (at
  10. * your option) any later version.
  11. *
  12. * StarPU is distributed in the hope that it will be useful, but
  13. * WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  15. *
  16. * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  17. */
  18. /*
  19. * This is the public config.h file, installed along libstarpu.
  20. *
  21. * It should only contain the build-time #defines which have an effect on the
  22. * API & ABI.
  23. */
  24. #ifndef __STARPU_CONFIG_PUBLIC_H__
  25. #define __STARPU_CONFIG_PUBLIC_H__
  26. /**
  27. Define the major version of StarPU. This is the version used when
  28. compiling the application.
  29. @ingroup API_Versioning
  30. */
  31. #define STARPU_MAJOR_VERSION 1
  32. /**
  33. @ingroup API_Versioning
  34. Define the minor version of StarPU. This is the version used when
  35. compiling the application.
  36. */
  37. #define STARPU_MINOR_VERSION 3
  38. /**
  39. Define the release version of StarPU. This is the version used when
  40. compiling the application.
  41. @ingroup API_Versioning
  42. */
  43. #define STARPU_RELEASE_VERSION 99
  44. #define STARPU_USE_CPU 1
  45. /**
  46. Defined when StarPU has been installed with
  47. CUDA support. It should be used in your code to detect the
  48. availability of CUDA.
  49. @ingroup API_CUDA_Extensions
  50. */
  51. #define STARPU_USE_CUDA 1
  52. /**
  53. Defined when StarPU has been installed with OpenCL support. It
  54. should be used in your code to detect the availability of OpenCL as
  55. shown in \ref FullSourceCodeVectorScal.
  56. @ingroup API_OpenCL_Extensions
  57. */
  58. #define STARPU_USE_OPENCL 1
  59. /**
  60. Defined when StarPU has been installed with MIC support. It should
  61. be used in your code to detect the availability of MIC.
  62. @ingroup API_MIC_Extensions
  63. */
  64. /* #undef STARPU_USE_MIC */
  65. /**
  66. Defined when StarPU has been installed with MPI Master Slave
  67. support. It should be used in your code to detect the availability
  68. of MPI Master Slave.
  69. @ingroup API_MPI_Support
  70. */
  71. /* #undef STARPU_USE_MPI_MASTER_SLAVE */
  72. /**
  73. Defined when StarPU has been installed with OpenMP Runtime support.
  74. It should be used in your code to detect the availability of the
  75. runtime support for OpenMP.
  76. @ingroup API_OpenMP_Runtime_Support
  77. */
  78. #define STARPU_OPENMP 1
  79. /* #undef STARPU_CLUSTER */
  80. /* #undef STARPU_SIMGRID */
  81. /* #undef STARPU_SIMGRID_MC */
  82. /* #undef STARPU_SIMGRID_HAVE_XBT_BARRIER_INIT */
  83. /* #undef STARPU_HAVE_SIMGRID_MSG_H */
  84. /* #undef STARPU_HAVE_MSG_MSG_H */
  85. /* #undef STARPU_HAVE_SIMGRID_ACTOR_H */
  86. /* #undef STARPU_HAVE_SIMGRID_SEMAPHORE_H */
  87. /* #undef STARPU_HAVE_SIMGRID_MUTEX_H */
  88. /* #undef STARPU_HAVE_SIMGRID_COND_H */
  89. /* #undef STARPU_HAVE_SIMGRID_BARRIER_H */
  90. /* #undef STARPU_HAVE_XBT_SYNCHRO_H */
  91. #define STARPU_HAVE_VALGRIND_H 1
  92. #define STARPU_HAVE_MEMCHECK_H 1
  93. /* #undef STARPU_VALGRIND_FULL */
  94. /* #undef STARPU_SANITIZE_LEAK */
  95. #define STARPU_NON_BLOCKING_DRIVERS 1
  96. /* workers must call callbacks on sleep/wake-up */
  97. /* #undef STARPU_WORKER_CALLBACKS */
  98. /* #undef STARPU_HAVE_ICC */
  99. /**
  100. Defined when StarPU has been installed with MPI support. It should
  101. be used in your code to detect the availability of MPI.
  102. @ingroup API_MPI_Support
  103. */
  104. /* #undef STARPU_USE_MPI */
  105. /* #undef STARPU_USE_MPI_MPI */
  106. /* #undef STARPU_USE_MPI_NMAD */
  107. /* #undef STARPU_ATLAS */
  108. /* #undef STARPU_GOTO */
  109. /* #undef STARPU_OPENBLAS */
  110. /* #undef STARPU_MKL */
  111. /* #undef STARPU_ARMPL */
  112. /* #undef STARPU_SYSTEM_BLAS */
  113. /* #undef STARPU_HAVE_CBLAS_H */
  114. /**
  115. Define the directory in which the OpenCL codelets of the
  116. applications provided with StarPU have been installed.
  117. @ingroup API_OpenCL_Extensions
  118. */
  119. /* #undef STARPU_OPENCL_DATADIR */
  120. /* #undef STARPU_HAVE_MAGMA */
  121. /* #undef STARPU_OPENGL_RENDER */
  122. /* #undef STARPU_USE_GTK */
  123. #define STARPU_HAVE_X11 1
  124. /* #undef STARPU_PAPI */
  125. #define STARPU_HAVE_POSIX_MEMALIGN 1
  126. #define STARPU_HAVE_MEMALIGN 1
  127. #define STARPU_HAVE_MALLOC_H 1
  128. #define STARPU_HAVE_SYNC_BOOL_COMPARE_AND_SWAP 1
  129. #define STARPU_HAVE_SYNC_VAL_COMPARE_AND_SWAP 1
  130. #define STARPU_HAVE_SYNC_FETCH_AND_ADD 1
  131. #define STARPU_HAVE_SYNC_FETCH_AND_OR 1
  132. #define STARPU_HAVE_SYNC_LOCK_TEST_AND_SET 1
  133. #define STARPU_HAVE_SYNC_SYNCHRONIZE 1
  134. /* #undef STARPU_DEVEL */
  135. /* #undef STARPU_MODEL_DEBUG */
  136. /* #undef STARPU_NO_ASSERT */
  137. /* #undef STARPU_DEBUG */
  138. /* #undef STARPU_VERBOSE */
  139. #define STARPU_GDB_PATH "/usr/bin/gdb"
  140. #define STARPU_HAVE_FFTW 1
  141. #define STARPU_HAVE_FFTWF 1
  142. #define STARPU_HAVE_FFTWL 1
  143. #define STARPU_HAVE_CUFFTDOUBLECOMPLEX 1
  144. #define STARPU_HAVE_CURAND 1
  145. /**
  146. Define the maximum number of memory nodes managed by StarPU. The
  147. default value can be modified at configure by using the option \ref
  148. enable-maxnodes "--enable-maxnodes". Reducing it allows to
  149. considerably reduce memory used by StarPU data structures.
  150. @ingroup API_Workers_Properties
  151. */
  152. #define STARPU_MAXNODES 16
  153. /**
  154. Define the maximum number of buffers that tasks will be able to
  155. take as parameters. The default value is 8, it can be changed by
  156. using the configure option \ref enable-maxbuffers
  157. "--enable-maxbuffers".
  158. @ingroup API_Codelet_And_Tasks
  159. */
  160. #define STARPU_NMAXBUFS 8
  161. /**
  162. Define the maximum number of fxt mpi files that can be read when
  163. generating traces. The default value is 64, it can be changed by
  164. using the configure option \ref enable-fxt-max-files
  165. "--enable-fxt-max-files".
  166. @ingroup API_MPI_Support
  167. */
  168. #define STARPU_FXT_MAX_FILES 64
  169. /**
  170. Define the maximum number of CPU workers managed by StarPU. The
  171. default value can be modified at configure by using the option \ref
  172. enable-maxcpus "--enable-maxcpus".
  173. @ingroup API_Workers_Properties
  174. */
  175. #define STARPU_MAXCPUS 64
  176. /**
  177. Define the maximum number of NUMA nodes managed by StarPU. The
  178. default value can be modified at configure by using the option \ref
  179. enable-maxnumanodes "--enable-maxnumanodes".
  180. @ingroup API_Workers_Properties
  181. */
  182. #define STARPU_MAXNUMANODES 2
  183. /**
  184. * Define the maximum number of CUDA devices that are supported by StarPU.
  185. * @ingroup API_CUDA_Extensions
  186. */
  187. #define STARPU_MAXCUDADEVS 4
  188. /**
  189. Define the maximum number of OpenCL devices that are supported by
  190. StarPU.
  191. @ingroup API_OpenCL_Extensions
  192. */
  193. #define STARPU_MAXOPENCLDEVS 8
  194. /**
  195. Define the maximum number of MIC devices that are supported by
  196. StarPU.
  197. @ingroup API_MIC_Extensions
  198. */
  199. #define STARPU_MAXMICDEVS 0
  200. /**
  201. Define the maximum number of workers managed by StarPU.
  202. @ingroup API_Workers_Properties
  203. */
  204. #define STARPU_NMAXWORKERS 80
  205. /**
  206. Define the maximum number of scheduling contexts managed by StarPU.
  207. The default value can be modified at configure by using the option
  208. \ref enable-max-sched-ctxs "--enable-max-sched-ctxs".
  209. @ingroup API_Scheduling_Policy
  210. */
  211. #define STARPU_NMAX_SCHED_CTXS 10
  212. /**
  213. Define the maximum number of implementations per architecture. The
  214. default value can be modified at configure by using the option \ref
  215. enable-maximplementations "--enable-maximplementations".
  216. @ingroup API_Scheduling_Policy
  217. */
  218. #define STARPU_MAXIMPLEMENTATIONS 4
  219. #define STARPU_MAXMPKERNELS 10
  220. /* #undef STARPU_USE_SC_HYPERVISOR */
  221. /* #undef STARPU_SC_HYPERVISOR_DEBUG */
  222. /* #undef STARPU_HAVE_GLPK_H */
  223. #define STARPU_HAVE_CUDA_MEMCPY_PEER 1
  224. #define STARPU_HAVE_LIBNUMA 1
  225. /* #undef STARPU_HAVE_WINDOWS */
  226. #define STARPU_LINUX_SYS 1
  227. #define STARPU_HAVE_SETENV 1
  228. #define STARPU_HAVE_UNSETENV 1
  229. #define STARPU_HAVE_UNISTD_H 1
  230. #define STARPU_HAVE_HDF5 1
  231. /* #undef STARPU_USE_FXT */
  232. /* #undef STARPU_FXT_LOCK_TRACES */
  233. #ifdef _MSC_VER
  234. typedef long starpu_ssize_t;
  235. #define __starpu_func__ __FUNCTION__
  236. #else
  237. # include <sys/types.h>
  238. typedef ssize_t starpu_ssize_t;
  239. #define __starpu_func__ __func__
  240. #endif
  241. #if defined(c_plusplus) || defined(__cplusplus)
  242. /* inline is part of C++ */
  243. # define __starpu_inline inline
  244. #elif defined(_MSC_VER) || defined(__HP_cc)
  245. # define __starpu_inline __inline
  246. #else
  247. # define __starpu_inline __inline__
  248. #endif
  249. /* #undef STARPU_QUICK_CHECK */
  250. /* #undef STARPU_LONG_CHECK */
  251. #define STARPU_USE_DRAND48 1
  252. #define STARPU_USE_ERAND48_R 1
  253. #define STARPU_HAVE_NEARBYINTF 1
  254. #define STARPU_HAVE_RINTF 1
  255. #define STARPU_HAVE_HWLOC 1
  256. #define STARPU_HAVE_PTHREAD_SPIN_LOCK 1
  257. #define STARPU_HAVE_PTHREAD_BARRIER 1
  258. #define STARPU_HAVE_PTHREAD_SETNAME_NP 1
  259. #define STARPU_HAVE_STRUCT_TIMESPEC 1
  260. #define STARPU_PTHREAD_MUTEX_INITIALIZER_ZERO 1
  261. #define STARPU_PTHREAD_COND_INITIALIZER_ZERO 1
  262. #define STARPU_PTHREAD_RWLOCK_INITIALIZER_ZERO 1
  263. /* This is only for building examples */
  264. #define STARPU_HAVE_HELGRIND_H 1
  265. /* Enable Fortran to C MPI interface */
  266. /* #undef HAVE_MPI_COMM_F2C */
  267. /* #undef STARPU_HAVE_DARWIN */
  268. #define STARPU_HAVE_CXX11 1
  269. #define STARPU_HAVE_STRERROR_R 1
  270. #define STARPU_HAVE_STATEMENT_EXPRESSIONS 1
  271. /* #undef STARPU_PERF_MODEL_DIR */
  272. #endif