configure_options.doxy 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501
  1. /*
  2. * This file is part of the StarPU Handbook.
  3. * Copyright (C) 2009--2011 Universit@'e de Bordeaux 1
  4. * Copyright (C) 2010, 2011, 2012, 2013 Centre National de la Recherche Scientifique
  5. * Copyright (C) 2011, 2012 Institut National de Recherche en Informatique et Automatique
  6. * See the file version.doxy for copying conditions.
  7. */
  8. /*! \page CompilationConfiguration Compilation Configuration
  9. The behavior of the StarPU library and tools may be tuned thanks to
  10. the following configure options.
  11. \section CommonConfiguration Common Configuration
  12. <dl>
  13. <dt>--enable-debug</dt>
  14. <dd>
  15. \anchor enable-debug
  16. \addindex __configure__--enable-debug
  17. Enable debugging messages.
  18. </dd>
  19. <dt>--enable-debug</dt>
  20. <dd>
  21. \anchor enable-debug
  22. \addindex __configure__--enable-debug
  23. Enable debugging messages.
  24. </dd>
  25. <dt>--enable-fast</dt>
  26. <dd>
  27. \anchor enable-fast
  28. \addindex __configure__--enable-fast
  29. Disable assertion checks, which saves computation time.
  30. </dd>
  31. <dt>--enable-verbose</dt>
  32. <dd>
  33. \anchor enable-verbose
  34. \addindex __configure__--enable-verbose
  35. Increase the verbosity of the debugging messages. This can be disabled
  36. at runtime by setting the environment variable \ref STARPU_SILENT to
  37. any value.
  38. \verbatim
  39. $ STARPU_SILENT=1 ./vector_scal
  40. \endverbatim
  41. </dd>
  42. <dt>--enable-coverage</dt>
  43. <dd>
  44. \anchor enable-coverage
  45. \addindex __configure__--enable-coverage
  46. Enable flags for the coverage tool <c>gcov</c>.
  47. </dd>
  48. <dt>--enable-quick-check</dt>
  49. <dd>
  50. \anchor enable-quick-check
  51. \addindex __configure__--enable-quick-check
  52. Specify tests and examples should be run on a smaller data set, i.e
  53. allowing a faster execution time
  54. </dd>
  55. <dt>--enable-long-check</dt>
  56. <dd>
  57. \anchor enable-long-check
  58. \addindex __configure__--enable-long-check
  59. Enable some exhaustive checks which take a really long time.
  60. </dd>
  61. <dt>--with-hwloc</dt>
  62. <dd>
  63. \anchor with-hwloc
  64. \addindex __configure__--with-hwloc
  65. Specify <c>hwloc</c> should be used by StarPU. <c>hwloc</c> should be found by the
  66. means of the tool <c>pkg-config</c>.
  67. </dd>
  68. <dt>--with-hwloc=<c>prefix</c></dt>
  69. <dd>
  70. \anchor with-hwloc
  71. \addindex __configure__--with-hwloc
  72. Specify <c>hwloc</c> should be used by StarPU. <c>hwloc</c> should be found in the
  73. directory specified by <c>prefix</c>
  74. </dd>
  75. <dt>--without-hwloc</dt>
  76. <dd>
  77. \anchor without-hwloc
  78. \addindex __configure__--without-hwloc
  79. Specify <c>hwloc</c> should not be used by StarPU.
  80. </dd>
  81. <dt>--disable-build-doc</dt>
  82. <dd>
  83. \anchor disable-build-doc
  84. \addindex __configure__--disable-build-doc
  85. Disable the creation of the documentation. This should be done on a
  86. machine which does not have the tools <c>makeinfo</c> and <c>tex</c>.
  87. </dd>
  88. </dl>
  89. Additionally, the script <c>configure</c> recognize many variables, which
  90. can be listed by typing <c>./configure --help</c>. For example,
  91. <c>./configure NVCCFLAGS="-arch sm_13"</c> adds a flag for the compilation of
  92. CUDA kernels.
  93. \section ConfiguringWorkers Configuring Workers
  94. <dl>
  95. <dt>--enable-maxcpus=<c>count</c></dt>
  96. <dd>
  97. \anchor enable-maxcpus
  98. \addindex __configure__--enable-maxcpus
  99. Use at most <c>count</c> CPU cores. This information is then
  100. available as the macro ::STARPU_MAXCPUS.
  101. </dd>
  102. <dt>--disable-cpu</dt>
  103. <dd>
  104. \anchor disable-cpu
  105. \addindex __configure__--disable-cpu
  106. Disable the use of CPUs of the machine. Only GPUs etc. will be used.
  107. </dd>
  108. <dt>--enable-maxcudadev=<c>count</c></dt>
  109. <dd>
  110. \anchor enable-maxcudadev
  111. \addindex __configure__--enable-maxcudadev
  112. Use at most <c>count</c> CUDA devices. This information is then
  113. available as the macro ::STARPU_MAXCUDADEVS.
  114. </dd>
  115. <dt>--disable-cuda</dt>
  116. <dd>
  117. \anchor disable-cuda
  118. \addindex __configure__--disable-cuda
  119. Disable the use of CUDA, even if a valid CUDA installation was detected.
  120. </dd>
  121. <dt>--with-cuda-dir=<c>prefix</c></dt>
  122. <dd>
  123. \anchor with-cuda-dir
  124. \addindex __configure__--with-cuda-dir
  125. Search for CUDA under <c>prefix</c>, which should notably contain the file
  126. <c>include/cuda.h</c>.
  127. </dd>
  128. <dt>--with-cuda-include-dir=<c>dir</c></dt>
  129. <dd>
  130. \anchor with-cuda-include-dir
  131. \addindex __configure__--with-cuda-include-dir
  132. Search for CUDA headers under <c>dir</c>, which should
  133. notably contain the file <c>cuda.h</c>. This defaults to
  134. <c>/include</c> appended to the value given to
  135. \ref with-cuda-dir "--with-cuda-dir".
  136. </dd>
  137. <dt>--with-cuda-lib-dir=<c>dir</c></dt>
  138. <dd>
  139. \anchor with-cuda-lib-dir
  140. \addindex __configure__--with-cuda-lib-dir
  141. Search for CUDA libraries under <c>dir</c>, which should notably contain
  142. the CUDA shared libraries---e.g., <c>libcuda.so</c>. This defaults to
  143. <c>/lib</c> appended to the value given to
  144. \ref with-cuda-dir "--with-cuda-dir".
  145. </dd>
  146. <dt>--disable-cuda-memcpy-peer</dt>
  147. <dd>
  148. \anchor disable-cuda-memcpy-peer
  149. \addindex __configure__--disable-cuda-memcpy-peer
  150. Explicitly disable peer transfers when using CUDA 4.0.
  151. </dd>
  152. <dt>--enable-maxopencldev=<c>count</c></dt>
  153. <dd>
  154. \anchor enable-maxopencldev
  155. \addindex __configure__--enable-maxopencldev
  156. Use at most <c>count</c> OpenCL devices. This information is then
  157. available as the macro ::STARPU_MAXOPENCLDEVS.
  158. </dd>
  159. <dt>--disable-opencl</dt>
  160. <dd>
  161. \anchor disable-opencl
  162. \addindex __configure__--disable-opencl
  163. Disable the use of OpenCL, even if the SDK is detected.
  164. </dd>
  165. <dt>--with-opencl-dir=<c>prefix</c></dt>
  166. <dd>
  167. \anchor with-opencl-dir
  168. \addindex __configure__--with-opencl-dir
  169. Search for an OpenCL implementation under <c>prefix</c>, which should
  170. notably contain <c>include/CL/cl.h</c> (or <c>include/OpenCL/cl.h</c>
  171. on Mac OS).
  172. </dd>
  173. <dt>--with-opencl-include-dir=<c>dir</c></dt>
  174. <dd>
  175. \anchor with-opencl-include-dir
  176. \addindex __configure__--with-opencl-include-dir
  177. Search for OpenCL headers under <c>dir</c>, which should notably contain
  178. <c>CL/cl.h</c> (or <c>OpenCL/cl.h</c> on Mac OS). This defaults to
  179. <c>/include</c> appended to the value given to
  180. \ref with-opencl-dir "--with-opencl-dir".
  181. </dd>
  182. <dt>--with-opencl-lib-dir=<c>dir</c></dt>
  183. <dd>
  184. \anchor with-opencl-lib-dir
  185. \addindex __configure__--with-opencl-lib-dir
  186. Search for an OpenCL library under <c>dir</c>, which should notably
  187. contain the OpenCL shared libraries---e.g. <c>libOpenCL.so</c>. This defaults to
  188. <c>/lib</c> appended to the value given to
  189. \ref with-opencl-dir "--with-opencl-dir".
  190. </dd>
  191. <dt>--enable-opencl-simulator</dt>
  192. <dd>
  193. \anchor enable-opencl-simulator
  194. \addindex __configure__--enable-opencl-simulator
  195. Enable considering the provided OpenCL implementation as a simulator, i.e. use
  196. the kernel duration returned by OpenCL profiling information as wallclock time
  197. instead of the actual measured real time. This requires simgrid support.
  198. </dd>
  199. <dt>--enable-maximplementations=<c>count</c></dt>
  200. <dd>
  201. \anchor enable-maximplementations
  202. \addindex __configure__--enable-maximplementations
  203. Allow for at most <c>count</c> codelet implementations for the same
  204. target device. This information is then available as the
  205. macro ::STARPU_MAXIMPLEMENTATIONS macro.
  206. </dd>
  207. <dt>--enable-max-sched-ctxs=<c>count</c></dt>
  208. <dd>
  209. \anchor enable-max-sched-ctxs
  210. \addindex __configure__--enable-max-sched-ctxs
  211. Allow for at most <c>count</c> scheduling contexts
  212. This information is then available as the macro
  213. ::STARPU_NMAX_SCHED_CTXS.
  214. </dd>
  215. <dt>--disable-asynchronous-copy</dt>
  216. <dd>
  217. \anchor disable-asynchronous-copy
  218. \addindex __configure__--disable-asynchronous-copy
  219. Disable asynchronous copies between CPU and GPU devices.
  220. The AMD implementation of OpenCL is known to
  221. fail when copying data asynchronously. When using this implementation,
  222. it is therefore necessary to disable asynchronous data transfers.
  223. </dd>
  224. <dt>--disable-asynchronous-cuda-copy</dt>
  225. <dd>
  226. \anchor disable-asynchronous-cuda-copy
  227. \addindex __configure__--disable-asynchronous-cuda-copy
  228. Disable asynchronous copies between CPU and CUDA devices.
  229. </dd>
  230. <dt>--disable-asynchronous-opencl-copy</dt>
  231. <dd>
  232. \anchor disable-asynchronous-opencl-copy
  233. \addindex __configure__--disable-asynchronous-opencl-copy
  234. Disable asynchronous copies between CPU and OpenCL devices.
  235. The AMD implementation of OpenCL is known to
  236. fail when copying data asynchronously. When using this implementation,
  237. it is therefore necessary to disable asynchronous data transfers.
  238. </dd>
  239. <dt>--disable-asynchronous-mic-copy</dt>
  240. <dd>
  241. \anchor disable-asynchronous-mic-copy
  242. \addindex __configure__--disable-asynchronous-mic-copy
  243. Disable asynchronous copies between CPU and MIC devices.
  244. </dd>
  245. </dl>
  246. \section ExtensionConfiguration Extension Configuration
  247. <dl>
  248. <dt>--disable-socl</dt>
  249. <dd>
  250. \anchor disable-socl
  251. \addindex __configure__--disable-socl
  252. Disable the SOCL extension (\ref SOCLOpenclExtensions). By
  253. default, it is enabled when an OpenCL implementation is found.
  254. </dd>
  255. <dt>--disable-starpu-top</dt>
  256. <dd>
  257. \anchor disable-starpu-top
  258. \addindex __configure__--disable-starpu-top
  259. Disable the StarPU-Top interface (\ref StarPU-TopInterface). By default, it
  260. is enabled when the required dependencies are found.
  261. </dd>
  262. <dt>--disable-gcc-extensions</dt>
  263. <dd>
  264. \anchor disable-gcc-extensions
  265. \addindex __configure__--disable-gcc-extensions
  266. Disable the GCC plug-in (\ref cExtensions). By default, it is
  267. enabled when the GCC compiler provides a plug-in support.
  268. </dd>
  269. <dt>--with-mpicc=<c>path</c></dt>
  270. <dd>
  271. \anchor with-mpicc
  272. \addindex __configure__--with-mpicc
  273. Use the compiler <c>mpicc</c> at <c>path</c>, for StarPU-MPI.
  274. (\ref MPISupport).
  275. </dd>
  276. <dt>--enable-mpi-progression-hook</dt>
  277. <dd>
  278. \anchor enable-mpi-progression-hook
  279. \addindex __configure__--enable-mpi-progression-hook
  280. Enable the activity polling method for StarPU-MPI.
  281. </dd>
  282. \section AdvancedConfiguration Advanced Configuration
  283. <dl>
  284. <dt>--enable-perf-debug</dt>
  285. <dd>
  286. \anchor enable-perf-debug
  287. \addindex __configure__--enable-perf-debug
  288. Enable performance debugging through gprof.
  289. </dd>
  290. <dt>--enable-model-debug</dt>
  291. <dd>
  292. \anchor enable-model-debug
  293. \addindex __configure__--enable-model-debug
  294. Enable performance model debugging.
  295. </dd>
  296. <dt>--enable-stats</dt>
  297. <dd>
  298. \anchor enable-stats
  299. \addindex __configure__--enable-stats
  300. (see ../../src/datawizard/datastats.c)
  301. Enable gathering of various data statistics (\ref DataStatistics).
  302. </dd>
  303. <dt>--enable-maxbuffers</dt>
  304. <dd>
  305. \anchor enable-maxbuffers
  306. \addindex __configure__--enable-maxbuffers
  307. Define the maximum number of buffers that tasks will be able to take
  308. as parameters, then available as the macro ::STARPU_NMAXBUFS.
  309. </dd>
  310. <dt>--enable-allocation-cache</dt>
  311. <dd>
  312. \anchor enable-allocation-cache
  313. \addindex __configure__--enable-allocation-cache
  314. Enable the use of a data allocation cache to avoid the cost of it with
  315. CUDA. Still experimental.
  316. </dd>
  317. <dt>--enable-opengl-render</dt>
  318. <dd>
  319. \anchor enable-opengl-render
  320. \addindex __configure__--enable-opengl-render
  321. Enable the use of OpenGL for the rendering of some examples.
  322. \internal
  323. TODO: rather default to enabled when detected
  324. \endinternal
  325. </dd>
  326. <dt>--enable-blas-lib</dt>
  327. <dd>
  328. \anchor enable-blas-lib
  329. \addindex __configure__--enable-blas-lib
  330. Specify the blas library to be used by some of the examples. The
  331. library has to be 'atlas' or 'goto'.
  332. </dd>
  333. <dt>--disable-starpufft</dt>
  334. <dd>
  335. \anchor disable-starpufft
  336. \addindex __configure__--disable-starpufft
  337. Disable the build of libstarpufft, even if <c>fftw</c> or <c>cuFFT</c> is available.
  338. </dd>
  339. <dt>--with-magma=<c>prefix</c></dt>
  340. <dd>
  341. \anchor with-magma
  342. \addindex __configure__--with-magma
  343. Search for MAGMA under <c>prefix</c>. <c>prefix</c> should notably
  344. contain <c>include/magmablas.h</c>.
  345. </dd>
  346. <dt>--with-fxt=<c>prefix</c></dt>
  347. <dd>
  348. \anchor with-fxt
  349. \addindex __configure__--with-fxt
  350. Search for FxT under <c>prefix</c>.
  351. FxT (http://savannah.nongnu.org/projects/fkt) is used to generate
  352. traces of scheduling events, which can then be rendered them using ViTE
  353. (\ref Off-linePerformanceFeedback). <c>prefix</c> should
  354. notably contain <c>include/fxt/fxt.h</c>.
  355. </dd>
  356. <dt>--with-perf-model-dir=<c>dir</c></dt>
  357. <dd>
  358. \anchor with-perf-model-dir
  359. \addindex __configure__--with-perf-model-dir
  360. Store performance models under <c>dir</c>, instead of the current user's
  361. home.
  362. </dd>
  363. <dt>--with-goto-dir=<c>prefix</c></dt>
  364. <dd>
  365. \anchor with-goto-dir
  366. \addindex __configure__--with-goto-dir
  367. Search for GotoBLAS under <c>prefix</c>, which should notably contain
  368. <c>libgoto.so</c> or <c>libgoto2.so</c>.
  369. </dd>
  370. <dt>--with-atlas-dir=<c>prefix</c></dt>
  371. <dd>
  372. \anchor with-atlas-dir
  373. \addindex __configure__--with-atlas-dir
  374. Search for ATLAS under <c>prefix</c>, which should notably contain
  375. <c>include/cblas.h</c>.
  376. </dd>
  377. <dt>--with-mkl-cflags=<c>cflags</c></dt>
  378. <dd>
  379. \anchor with-mkl-cflags
  380. \addindex __configure__--with-mkl-cflags
  381. Use <c>cflags</c> to compile code that uses the MKL library.
  382. </dd>
  383. <dt>--with-mkl-ldflags=<c>ldflags</c></dt>
  384. <dd>
  385. \anchor with-mkl-ldflags
  386. \addindex __configure__--with-mkl-ldflags
  387. Use <c>ldflags</c> when linking code that uses the MKL library. Note
  388. that the MKL website
  389. (http://software.intel.com/en-us/articles/intel-mkl-link-line-advisor/)
  390. provides a script to determine the linking flags.
  391. </dd>
  392. <dt>--disable-build-examples</dt>
  393. <dd>
  394. \anchor disable-build-examples
  395. \addindex __configure__--disable-build-examples
  396. Disable the build of examples.
  397. </dd>
  398. <dt>--enable-sc-hypervisor</dt>
  399. <dd>
  400. \anchor enable-sc-hypervisor
  401. \addindex __configure__--enable-sc-hypervisor
  402. Enable the Scheduling Context Hypervisor plugin(\ref SchedulingContextHypervisor).
  403. By default, it is disabled.
  404. </dd>
  405. <dt>--enable-memory-stats</dt>
  406. <dd>
  407. \anchor enable-memory-stats
  408. \addindex __configure__--enable-memory-stats
  409. Enable memory statistics (\ref MemoryFeedback).
  410. </dd>
  411. <dt>--enable-simgrid</dt>
  412. <dd>
  413. \anchor enable-simgrid
  414. \addindex __configure__--enable-simgrid
  415. Enable simulation of execution in simgrid, to allow easy experimentation with
  416. various numbers of cores and GPUs, or amount of memory, etc. Experimental.
  417. The path to simgrid can be specified through the <c>SIMGRID_CFLAGS</c> and
  418. <c>SIMGRID_LIBS</c> environment variables, for instance:
  419. \verbatim
  420. export SIMGRID_CFLAGS="-I/usr/local/simgrid/include"
  421. export SIMGRID_LIBS="-L/usr/local/simgrid/lib -lsimgrid"
  422. \endverbatim
  423. </dd>
  424. </dl>
  425. */