Go to file
Kenneth Moreland 0475e1cd18 Merge branch 'use-stl-min-max' into 'master'
Use std::Min/Max over fmin/fmax

We had a report that vtkm::Min/Max was significantly slower than other
products. This was traced back to the fact that these functions were not
completely inlining because they were calling fmin or fmax, and that
resulted in an actual C library call. It turns out using the templated
functions in the std namespace is faster.

This change has the VTK-m min/max functions use the std version in
almost all circumstances. The one exception (so far) is that fmin and
fmax are used for CUDA devices since the std functions are not declared
to run on the device and the nvcc compiler treats these functions
special.

See merge request !279
2015-12-07 12:51:44 -05:00
CMake Suppress failure to vectorize warnings from the Intel Compiler. 2015-12-04 09:18:54 -05:00
docs The Copyright statement now has all the periods in the correct location. 2015-05-21 10:30:11 -04:00
examples Use vtkm::Float32 with OpenGL, not vtkm::FloatDefault. 2015-12-03 15:02:41 -05:00
vtkm Use std::Min/Max over fmin/fmax 2015-12-07 09:26:27 -07:00
CMakeLists.txt Simplify the design of vectorization support. 2015-12-01 11:37:41 -05:00
CONTRIBUTING.md Add a contributing guide to vtk-m. 2015-07-29 17:33:30 -04:00
CTestConfig.cmake The Copyright statement now has all the periods in the correct location. 2015-05-21 10:30:11 -04:00
LICENSE.txt Fix compile time errors 2015-08-21 11:17:10 -07:00
README.md Update ReadMe to reference gitlab. 2015-05-13 08:45:52 -04:00

VTK-m

One of the biggest recent changes in high-performance computing is the increasing use of accelerators. Accelerators contain processing cores that independently are inferior to a core in a typical CPU, but these cores are replicated and grouped such that their aggregate execution provides a very high computation rate at a much lower power. Current and future CPU processors also require much more explicit parallelism. Each successive version of the hardware packs more cores into each processor, and technologies like hyperthreading and vector operations require even more parallel processing to leverage each cores full potential.

VTK-m is a toolkit of scientific visualization algorithms for emerging processor architectures. VTK-m supports the fine-grained concurrency for data analysis and visualization algorithms required to drive extreme scale computing by providing abstract models for data and execution that can be applied to a variety of algorithms across many different processor architectures.

Getting VTK-m

The VTK-m repository is located at https://gitlab.kitware.com/vtk/vtk-m

VTK-m dependencies are:

git clone https://gitlab.kitware.com/vtk/vtk-m.git vtkm
mkdir vtkm-build
cd vtkm-build
cmake-gui ../vtkm

A detailed walk-through of installing and building VTK-m can be found on our Contributing page