123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- Installing StarPU on windows
- ----------------------------
- 1. Install cygwin
- http://cygwin.com/install.html
- Make sure the following packages are available:
- - svn
- - libtool
- - gcc
- - make
- - your favorite editor (vi, emacs, ...)
- - gdb
- - zip
- - pkg-config
- 2. Install mingw
- http://sourceforge.net/projects/mingw/
- 3. Install hwloc (not mandatory)
- http://www.open-mpi.org/projects/hwloc
- 4. Install Microsoft Visual C++ 2008 Studio Express
- http://www.microsoft.com/express/Downloads
- On cygwin (and mingw), add in your path the following directories:
- export PATH=/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/Common7/IDE:$PATH
- export PATH=/cygdrive/c/Program Files/Microsoft Visual Studio 9.0/VC/bin:$PATH
-
- Try to call <lib.exe> and <link.exe> from MinGW, else no .def or .lib file
- will be produced.
- 5. Install GPU Drivers (not mandatory)
- 5.1 Install Cuda
- http://developer.nvidia.com/object/cuda_3_2_downloads.html
- You need to install at least the CUDA toolkit.
- libtool is not able to find the libraries automatically, you
- need to make some copies:
- copy c:\cuda\lib\cuda.lib c:\cuda\lib\libcuda.lib
- copy c:\cuda\lib\cudart.lib c:\cuda\lib\libcudart.lib
- copy c:\cuda\lib\cublas.lib c:\cuda\lib\libcublas.lib
- copy c:\cuda\lib\cufft.lib c:\cuda\lib\libcufft.lib
- copy c:\cuda\lib\OpenCL.lib c:\cuda\lib\libOpenCL.lib
- (and if the version of your CUDA driver is >= 3.2)
- copy c:\cuda\lib\curand.lib c:\cuda\lib\libcurand.lib
- Add the CUDA bin directory in your path
- export PATH=/cygdrive/c/CUDA/bin:$PATH
- 5.2 Install OpenCL
- http://developer.nvidia.com/object/opencl-download.html
- You need to download the NVIDIA Drivers for your version of
- Windows. Executing the file will extract all files in a given
- directory. The the driver installation will start, it will fail
- if no compatibles drivers can be found on your system.
- Anyway, you should copy the *.dl_ files from the directory
- (extraction path) in the bin directory of the CUDA installation
- directory (the directory should be v3.2/bin/)
- 5.3 Install MsCompress
- http://gnuwin32.sourceforge.net/packages/mscompress.htm
- Go in the CUDA bin directory, uncompress .dl_ files and rename
- them in .dll files
- cp /cygdrive/c/NVIDIA/DisplayDriver/190.89/International/*.dl_ .
- for i in *.dl_ ; do /cygdrive/c/Program\ Files/GnuWin32/bin/msexpand.exe $i ; mv ${i%_} ${i%_}l ; done
- 6. Start autogen.sh from cygwin
- cd starpu-trunk
- ./autogen.sh
- 7. Start a MinGW shell
- /cygdrive/c/MinGW/msys/1.0/bin/sh.exe --login -i
- 8. Configure, make, install from MinGW
- If you have a non-english version of windows, use
- export LANG=C
- else libtool has troubles parsing the translated output of the toolchain.
- cd starpu-trunk
- mkdir build
- cd build
- ../configure --prefix=$PWD/target --disable-default-drand48
- --with-hwloc=<HWLOC installation directory> \
- --with-cuda-dir=<CUDA installation directory> \
- --with-cuda-lib-dir=<CUDA installation directory>/lib/Win32 \
- --enable-opencl
- make
- make install
- Also convert a couple of files to CRLF:
- sed -e 's/$/'$'\015'/ < README > $PWD/target/README.txt
- sed -e 's/$/'$'\015'/ < AUTHORS > $PWD/target/AUTHORS.txt
- sed -e 's/$/'$'\015'/ < COPYING.LGPL > $PWD/target/COPYING.LGPL.txt
- 9. If you want your StarPU installation to be standalone, you need to
- copy the DLL files from hwloc, Cuda, and OpenCL into the StarPU
- installation bin directory, as well as MinGW/bin/libpthread*dll
- cp <CUDA directory>/bin/*dll target/bin
- cp <HWLOC directory>/bin/*dll target/bin
- cp /cygdrive/c/MinGW/bin/libpthread*dll target/bin
- and set the StarPU bin directory in your path.
- export PATH=<StarPU installation directory>/bin:$PATH
- Gcc-compiled CUDA
- -----------------
- If you tell nvcc to build CUDA code with gcc instead of Visual studio, a fix is
- needed: c:\cuda\include\host_defines.h has a bogus CUDARTAPI definition which
- makes
- linking fail completely. Replace the first occurence of
- #define CUDARTAPI
-
- with
-
- #ifdef _WIN32
- #define CUDARTAPI __stdcall
- #else
- #define CUDARTAPI
- #endif
- While at it, you can also comment the __cdecl definition to avoid spurious
- warnings.
|