Go to file
Kenneth Moreland 8834458238 Fix use of uninitialized invSpacing value
The SamplerRect worklet had an error where it was possible that the
invSpacing stack-local values could be used uninitialized. On the first
iteration of the loop in the SamplerRect operation, it calls LocateCell,
which is supposed to set invSpacing. Under most conditions it does, but
if one of the ray directions is 0 (which can happen with axis-aligned
views), one of the invSpacing dimensions was skipped, leaving the value
to whatever garbage happened to be on the stack. Later, the invSpacing
value was used to interpolate a scalar, which under some circumstances
could cause an array index error when looking up a color in the color
map.

This fix changes the condition for when the ray direction is 0 to still
initialize invSpacing.
2016-06-07 09:36:56 -06:00
CMake Auto-detection of cuda version requires usage of a working directory. 2016-06-03 13:10:44 -04:00
docs The Copyright statement now has all the periods in the correct location. 2015-05-21 10:30:11 -04:00
examples Merge branch 'rename-rendering-classes' into 'master' 2016-06-03 14:15:26 -04:00
vtkm Fix use of uninitialized invSpacing value 2016-06-07 09:36:56 -06:00
CMakeLists.txt Add test to check that all source files are part of the build system 2016-06-02 10:23:37 -06:00
CONTRIBUTING.md Add a contributing guide to vtk-m. 2015-07-29 17:33:30 -04:00
CTestConfig.cmake Switch over to uploading by https as that is required by cdash. 2016-02-23 14:03:52 -05:00
CTestCustom.cmake.in Lossen the CTestCustom regexes 2016-03-18 13:46:31 -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