README.dev 5.8 KB

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