Difference between revisions of "Building VTK-m"

From VTKM
Jump to navigation Jump to search
Line 36: Line 36:
  
 
(Note that parallel makes are supported, so you can run something like <tt>make -j4</tt> to take advantage of multiple cores during the build.)
 
(Note that parallel makes are supported, so you can run something like <tt>make -j4</tt> to take advantage of multiple cores during the build.)
 +
 +
=== VTK-m CMake Settings ===
 +
 +
The VTK-m CMake configuration supports several options. Here are some options specific to VTK-m
 +
 +
{| cellpadding="2" cellspacing="0"
 +
|- style="background:#abcdef"
 +
! Variable
 +
! Description
 +
|-
 +
| VTKm_USE_64BIT_IDS || Enable 64 bit index support. This is the size of integers used to index arrays, points, cells, etc.
 +
|-
 +
| VTKm_USE_DOUBLE_PRECISION || Precision to use in floating point numbers when no other precision can be inferred. Use 64 bit precision when on, 32 bit precision when off.
 +
|-
 +
|}
  
 
== Documentation ==
 
== Documentation ==
  
 
Documentation is currently a work in progress. For the latest version of the User's Guide, contact Ken Moreland <[mailto:kmorel@sandia.gov kmorel@sandia.gov]>.
 
Documentation is currently a work in progress. For the latest version of the User's Guide, contact Ken Moreland <[mailto:kmorel@sandia.gov kmorel@sandia.gov]>.

Revision as of 18:46, 10 December 2014

VTK-m is an open source C++ header toolkit that provides the ability to do fine-grained concurrency on scientific visualization data structures. VTK-m has few required dependencies but supports several optional components.

Getting VTK-m

VTK-m is currently available from a kitware git repository, which has public anonymous read access. URLs that can be used to clone the git repository can be found on the git project web page(http://public.kitware.com/vtkm.git).

If you haven't used git before, consider following github's excellent setup guide. To get a copy of the repository, issue a git clone command.

git clone http://public.kitware.com/vtkm.git

The repository supports access with the http, git, and ssh protocols. Push access is only allowed with the SSH protocol. If you want to contribute to Dax please read the Contributing to VTK-m page. If you are a core developer of Dax please use this link to send your public SSH key to Kitware.

Dependencies

  • CMake: VTK-m uses CMake to configure the build. You will need a relatively new version of CMake. CMake 2.8.10 or newer is recommended.
  • Boost: VTK-m requires the header version of Boost 1.48.0 or better. You do not need to install the Boost libraries.

Supported Operating Systems and Compilers

VTK-m is supported on Windows, Mac OSX, and Linux and should work on other varieties of Unix. It is possible to compile VTK-m with many different compiler versions including GNU, CLANG, MSVC, Intel, and PGI.

Building VTK-m with CMake

Although VTK-m is header only, the code needs to be configured for the local system. VTK-m also has a large testing framework that will ensure it is working correctly on your system.

Always configure VTK-m so that the build tree is not the same as the source directory. The project will not run in if the source and build directories are the same.

The basic steps to setting up VTK-m are as follows:

git clone http://public.kitware.com/vtkm.git
mkdir vtkm-build
cd vtkm-build
cmake-gui ../vtkm
make
make test

(Note that parallel makes are supported, so you can run something like make -j4 to take advantage of multiple cores during the build.)

VTK-m CMake Settings

The VTK-m CMake configuration supports several options. Here are some options specific to VTK-m

Variable Description
VTKm_USE_64BIT_IDS Enable 64 bit index support. This is the size of integers used to index arrays, points, cells, etc.
VTKm_USE_DOUBLE_PRECISION Precision to use in floating point numbers when no other precision can be inferred. Use 64 bit precision when on, 32 bit precision when off.

Documentation

Documentation is currently a work in progress. For the latest version of the User's Guide, contact Ken Moreland <kmorel@sandia.gov>.