INSTALL 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. # StarPU --- Runtime system for heterogeneous multicore architectures.
  2. #
  3. # Copyright (C) 2009, 2010, 2011 Université de Bordeaux 1
  4. # Copyright (C) 2010, 2011 Centre National de la Recherche Scientifique
  5. #
  6. # StarPU is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU Lesser General Public License as published by
  8. # the Free Software Foundation; either version 2.1 of the License, or (at
  9. # your option) any later version.
  10. #
  11. # StarPU is distributed in the hope that it will be useful, but
  12. # WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. #
  15. # See the GNU Lesser General Public License in COPYING.LGPL for more details.
  16. Contents
  17. =========
  18. * Installing StarPU on a Unix machine
  19. * Installing StarPU on Windows
  20. Installing StarPU on a Unix machine
  21. ------------------------------------
  22. $ ./autogen.sh # If running the SVN version
  23. $ ./configure --prefix=<prefix>
  24. $ make
  25. $ make install
  26. Installing StarPU on Windows
  27. ----------------------------
  28. If you are building from a tarball downloaded from the website, you can skip the
  29. cygwin part.
  30. 1. Install cygwin
  31. http://cygwin.com/install.html
  32. Make sure the following packages are available:
  33. - (Devel)/subversion
  34. - (Devel)/libtool
  35. - (Devel)/gcc
  36. - (Devel)/make
  37. - your favorite editor (vi, emacs, ...)
  38. - (Devel)/gdb
  39. - (Archive)/zip
  40. - (Devel)/pkg-config
  41. 2. Install mingw
  42. http://sourceforge.net/projects/mingw/
  43. 3. Install hwloc (not mandatory)
  44. http://www.open-mpi.org/projects/hwloc
  45. 4. Install Microsoft Visual C++ Studio Express
  46. http://www.microsoft.com/express/Downloads
  47. Add in your path the following directories.
  48. (adjusting where necessary for the Installation location according to VC
  49. version and on 64 and 32bit Windows versions)
  50. On cygwin, with Visual C++ 2010 e.g.;
  51. export PATH="/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE":$PATH
  52. export PATH="/cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin":$PATH
  53. On MingW, with Visual C++ 2010, e.g.;
  54. export PATH="/c/Program Files (x86)/Microsoft Visual Studio 10.0/Common7/IDE":$PATH
  55. export PATH="/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/bin":$PATH
  56. Try to call <lib.exe> and <link.exe> without any option to make sure these
  57. dump their help output, else no .def or .lib file will be produced.
  58. 5. Install GPU Drivers (not mandatory)
  59. 5.1 Install Cuda
  60. http://developer.nvidia.com/object/cuda_3_2_downloads.html
  61. You need to install at least the CUDA toolkit.
  62. libtool is not able to find the libraries automatically, you
  63. need to make some copies:
  64. copy c:\cuda\lib\cuda.lib c:\cuda\lib\libcuda.lib
  65. copy c:\cuda\lib\cudart.lib c:\cuda\lib\libcudart.lib
  66. copy c:\cuda\lib\cublas.lib c:\cuda\lib\libcublas.lib
  67. copy c:\cuda\lib\cufft.lib c:\cuda\lib\libcufft.lib
  68. copy c:\cuda\lib\OpenCL.lib c:\cuda\lib\libOpenCL.lib
  69. (and if the version of your CUDA driver is >= 3.2)
  70. copy c:\cuda\lib\curand.lib c:\cuda\lib\libcurand.lib
  71. Add the CUDA bin directory in your path
  72. export PATH=/cygdrive/c/CUDA/bin:$PATH
  73. Since we tell nvcc to build CUDA code with gcc instead of Visual studio,
  74. a fix is needed: c:\cuda\include\host_defines.h has a bogus CUDARTAPI
  75. definition which makes linking fail completely. Replace the first
  76. occurence of
  77. #define CUDARTAPI
  78. with
  79. #ifdef _WIN32
  80. #define CUDARTAPI __stdcall
  81. #else
  82. #define CUDARTAPI
  83. #endif
  84. While at it, you can also comment the __cdecl definition to avoid spurious
  85. warnings.
  86. 5.2 Install OpenCL
  87. http://developer.nvidia.com/object/opencl-download.html
  88. You need to download the NVIDIA Drivers for your version of
  89. Windows. Executing the file will extract all files in a given
  90. directory. The the driver installation will start, it will fail
  91. if no compatibles drivers can be found on your system.
  92. Anyway, you should copy the *.dl_ files from the directory
  93. (extraction path) in the bin directory of the CUDA installation
  94. directory (the directory should be v3.2/bin/)
  95. 5.3 Install MsCompress
  96. http://gnuwin32.sourceforge.net/packages/mscompress.htm
  97. Go in the CUDA bin directory, uncompress .dl_ files and rename
  98. them in .dll files
  99. cp /cygdrive/c/NVIDIA/DisplayDriver/190.89/International/*.dl_ .
  100. for i in *.dl_ ; do /cygdrive/c/Program\ Files/GnuWin32/bin/msexpand.exe $i ; mv ${i%_} ${i%_}l ; done
  101. If you are building from a tarball downloaded from the website, you can skip the
  102. autogen.sh part.
  103. 6. Start autogen.sh from cygwin
  104. cd starpu-trunk
  105. ./autogen.sh
  106. 7. Start a MinGW shell
  107. /cygdrive/c/MinGW/msys/1.0/bin/sh.exe --login -i
  108. 8. Configure, make, install from MinGW
  109. If you have a non-english version of windows, use
  110. export LANG=C
  111. else libtool has troubles parsing the translated output of the toolchain.
  112. cd starpu-trunk
  113. mkdir build
  114. cd build
  115. ../configure --prefix=$PWD/target --disable-default-drand48 \
  116. --with-hwloc=<HWLOC installation directory> \
  117. --with-cuda-dir=<CUDA installation directory> \
  118. --with-cuda-lib-dir=<CUDA installation directory>/lib/Win32 \
  119. --with-opencl-dir=<CUDA installation directory>
  120. make
  121. make install
  122. Also convert a couple of files to CRLF:
  123. sed -e 's/$/'$'\015'/ < README > $PWD/target/README.txt
  124. sed -e 's/$/'$'\015'/ < AUTHORS > $PWD/target/AUTHORS.txt
  125. sed -e 's/$/'$'\015'/ < COPYING.LGPL > $PWD/target/COPYING.LGPL.txt
  126. 9. If you want your StarPU installation to be standalone, you need to
  127. copy the DLL files from hwloc, Cuda, and OpenCL into the StarPU
  128. installation bin directory, as well as MinGW/bin/libpthread*dll
  129. cp <CUDA directory>/bin/*dll target/bin
  130. cp <HWLOC directory>/bin/*dll target/bin
  131. cp /cygdrive/c/MinGW/bin/libpthread*dll target/bin
  132. and set the StarPU bin directory in your path.
  133. export PATH=<StarPU installation directory>/bin:$PATH