The NIH/NIGMS
Center for Integrative Biomedical Computing

Third Party Software Requirements

  • CMake (2.8+ required)
  • Git (2.0+)
  • CUDA tookit (7.0+ for FEM solver, 7.5+ for Eikonal & Level-Set solvers). Download here.
  • The standard system build environment tools.

System Requirements

  • You will need a CUDA Compatible Graphics card (see here for options). You will also need to be sure your card has CUDA compute capability of at least 2.0.
  • The following operating systems have been tested with GPUTUM solvers:
    • OpenSuse 12.3 Linux on NVidia GeForce GTX 570 HD
    • Windows 7 on NVidia GeForce GTX 775M
    • OSX 10.10 on NVidia GeForce GTX 775M
    • Ubuntu 14.04 Linux on NVidia GeForce GTX 560 Ti (FEM Solver tested only)
  • Windows: You will need Microsoft Visual Studio 2013 build tools. This document describes the "NMake" process.
  • OSX: Please be sure to follow setup for CUDA here. There are several compatibility requirements for different MAC machines, including using a different version of CUDA (ie. 5.5).

Building

  • Linux / OSX
In a terminal, type:

mkdir <solver>/build
cd <solver>/build
cmake ../src
make

  • Windows
Open a Visual Studio (32 or 64 bit) Native Tools Command Prompt. Follow these commands:

mkdir C:\Path\To\<solver>\build
cd C:\Path\To\<solver>\build
cmake -G "NMake Makefiles" ..\src
nmake

  • Note: For all platforms, you may need to specify your CUDA toolkit location (especially if you have multiple CUDA versions installed):
cmake -DCUDA_TOOLKIT_ROOT_DIR="~/NVIDIA/CUDA-7.5" ../src
  • Note: If you have compile errors such as undefined reference: atomicAdd, it is likely you need to set your compute capability manually. CMake outputs whether compute capability was determined automatically, or if you need to set it manually. The default (and known working) minimum compute capability is 2.0.
cmake -DCUDA_COMPUTE_CAPABILITY=20 ../src
make

Regression Tests

Each solver has a set of regression tests to see if recent changes break expected results. To build the tests, you will need to set BUILD_TESTING to "ON" in either ccmake or when calling Cmake:

cmake -DBUILD_TESTING=ON ../src

The gtest library included in the repo needs to be built with forced shared libraries on Windows, so use the following:

cmake -DBUILD_TESTING=ON -Dgtest_forced_shared_crt=ON
../src


Be sure to include all other necessary CMake definitions as annotated above.

Running Examples

For test purposes, the solver can be run standalone with sample data. To build the code with this capability, enable the CMake variable BUILD_EXAMPLES, and proceed with the rest of the CMake & build process:

cmake -DBUILD_EXAMPLES=ON ../src
make

You will find the example binaries built in the build/examples directory.Run the examples in the build directory:

examples/ExampleX

Follow the example source code in src/examples to learn how to use the library.