installing.texi 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. @c -*-texinfo-*-
  2. @c This file is part of the StarPU Handbook.
  3. @c Copyright (C) 2009--2011 Universit@'e de Bordeaux 1
  4. @c Copyright (C) 2010, 2011, 2012, 2013 Centre National de la Recherche Scientifique
  5. @c Copyright (C) 2011, 2012 Institut National de Recherche en Informatique et Automatique
  6. @c See the file starpu.texi for copying conditions.
  7. @menu
  8. * Downloading StarPU::
  9. * Configuration of StarPU::
  10. * Building and Installing StarPU::
  11. @end menu
  12. StarPU can be built and installed by the standard means of the GNU
  13. autotools. The following chapter is intended to briefly remind how these tools
  14. can be used to install StarPU.
  15. @node Downloading StarPU
  16. @section Downloading StarPU
  17. @menu
  18. * Getting Sources::
  19. * Optional dependencies::
  20. @end menu
  21. @node Getting Sources
  22. @subsection Getting Sources
  23. StarPU's sources can be obtained from the
  24. @url{http://runtime.bordeaux.inria.fr/StarPU/files/,download page} of
  25. the StarPU website.
  26. All releases and the development tree of StarPU are freely available
  27. on INRIA's gforge under the LGPL license. Some releases are available
  28. under the BSD license.
  29. The latest release can be downloaded from the
  30. @url{http://gforge.inria.fr/frs/?group_id=1570,INRIA's gforge} or
  31. directly from the @url{http://runtime.bordeaux.inria.fr/StarPU/files/,StarPU download page}.
  32. The latest nightly snapshot can be downloaded from the @url{http://starpu.gforge.inria.fr/testing/,StarPU gforge website}.
  33. @example
  34. $ wget http://starpu.gforge.inria.fr/testing/starpu-nightly-latest.tar.gz
  35. @end example
  36. And finally, current development version is also accessible via svn.
  37. It should be done only if you need the very latest changes (i.e. less
  38. than a day!)@footnote{The client side of the software Subversion can
  39. be obtained from @url{http://subversion.tigris.org}. If you
  40. are running on Windows, you will probably prefer to use
  41. @url{http://tortoisesvn.tigris.org/, TortoiseSVN}.}.
  42. @example
  43. svn checkout svn://scm.gforge.inria.fr/svn/starpu/trunk StarPU
  44. @end example
  45. @node Optional dependencies
  46. @subsection Optional dependencies
  47. The @url{http://www.open-mpi.org/software/hwloc, @code{hwloc} topology
  48. discovery library} is not mandatory to use StarPU but strongly
  49. recommended. It allows for topology aware scheduling, which improves
  50. performance. @code{hwloc} is available in major free operating system
  51. distributions, and for most operating systems.
  52. If hwloc is not available on your system, the option
  53. @code{--without-hwloc} should be explicitely given when calling the
  54. configure script. If hwloc is installed with a @code{pkg-config} file,
  55. no option is required, it will be detected automatically, otherwise
  56. the @code{with-hwloc=prefix} should be used to specify the location
  57. of hwloc.
  58. @node Configuration of StarPU
  59. @section Configuration of StarPU
  60. @menu
  61. * Generating Makefiles and configuration scripts::
  62. * Running the configuration::
  63. @end menu
  64. @node Generating Makefiles and configuration scripts
  65. @subsection Generating Makefiles and configuration scripts
  66. This step is not necessary when using the tarball releases of StarPU. If you
  67. are using the source code from the svn repository, you first need to generate
  68. the configure scripts and the Makefiles. This requires the
  69. availability of @code{autoconf}, @code{automake} >= 2.60, and @code{makeinfo}.
  70. @example
  71. $ ./autogen.sh
  72. @end example
  73. @node Running the configuration
  74. @subsection Running the configuration
  75. @example
  76. $ ./configure
  77. @end example
  78. Details about options that are useful to give to @code{./configure} are given in
  79. @ref{Compilation configuration}.
  80. By default, the files produced during the compilation are placed in
  81. the source directory. As the compilation generates a lot of files, it
  82. is advised to to put them all in a separate directory. It is then
  83. easier to cleanup, and this allows to compile several configurations
  84. out of the same source tree. For that, simply enter the directory
  85. where you want the compilation to produce its files, and invoke the
  86. configure script located in the StarPU source directory.
  87. @example
  88. $ mkdir build
  89. $ cd build
  90. $ ../configure
  91. @end example
  92. @node Building and Installing StarPU
  93. @section Building and Installing StarPU
  94. @menu
  95. * Building::
  96. * Sanity Checks::
  97. * Installing::
  98. @end menu
  99. @node Building
  100. @subsection Building
  101. @example
  102. $ make
  103. @end example
  104. @node Sanity Checks
  105. @subsection Sanity Checks
  106. Once everything is built, you may want to test the result. An
  107. extensive set of regression tests is provided with StarPU. Running the
  108. tests is done by calling @code{make check}. These tests are run every night
  109. and the result from the main profile is publicly
  110. @url{http://starpu.gforge.inria.fr/testing/,available}.
  111. @example
  112. $ make check
  113. @end example
  114. @node Installing
  115. @subsection Installing
  116. In order to install StarPU at the location that was specified during
  117. configuration:
  118. @example
  119. $ make install
  120. @end example
  121. Libtool interface versioning information are included in
  122. libraries names (libstarpu-1.0.so, libstarpumpi-1.0.so and
  123. libstarpufft-1.0.so).