022c36fa4f
Previously WorkletInvokeFunctor inherited from vtkm::exec::FunctorBase, which is also the base class for all users Worklets and for all functors based to DeviceAdapter::Schedule. This is done for a few reasons. The first is that we reduce the minimum size of user worklets. Previously the users worklet would hold a reference to the error message, and so would the wrapper class added when calling DeviceAdapter::Schedule. Now we only have the users worklet holding a reference. Second, by refactoring to have two base classes we can better improve the documentation on what responsibilities FunctorBase.h has, compared to TaskBase. |
||
---|---|---|
CMake | ||
data | ||
docs | ||
examples | ||
Utilities/Git | ||
vtkm | ||
.gitattributes | ||
CMakeLists.txt | ||
CONTRIBUTING.md | ||
CTestConfig.cmake | ||
CTestCustom.cmake.in | ||
LICENSE.txt | ||
README.md | ||
version.txt |
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 core’s 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 required dependencies are:
VTK-m optional 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