configure_options.doxy 14 KB

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