Performance Portability Pre-ECP and Post-ECP – VTK-m
Kenneth Moreland, Oak Ridge National Laboratory
ECP Annual Meeting
January 19, 2023
Approved for public release
1
VTK-m: Visualization on Accelerators
Contouring and features
Particle Density
Rendering
Advection
and flow
And much more…
2
VTK-m Designed with Portability in Mind
Execution Environment
Cell Operations
Field Operations
Basic Math
Make Cells
Control Environment
Grid Topology
Array Handle
Invoke
Device Adapter
Allocate
Transfer
Schedule
Sort
…
Worklet
Over-decompose problem into small units. Same basic algorithm can be parallelized in different ways.
Build an adaption layer. (Based on Blelloch, Vector Models for Data-Parallel Computing)
3
Why we switched to Kokkos
Contour
Streams
Clip
Render
x86
CUDA
Xeon Phi
Surface
Normals
Ghost Cells
Warp
…
4
Why we switched to Kokkos
Contour
Streams
Clip
Render
x86
CUDA
Xeon Phi
Radeon
Xe
Surface
Normals
Ghost Cells
Warp
…
Surprise!
5
Kokkos Performance Running VTK-m Benchmarks
Kokkos performed about the same on most benchmarks
Kokkos performed significantly better on a few benchmarks
Kokkos performed much worse on a few benchmarks
6
Improved VTK-m/Kokkos Performance on Spock
Scope and objectives
Project accomplishment
Impact
Cool image
Improvements in Kokkos and VTK-m lead to a 12-fold improvement of unstructured gradient estimation on Spock.
ECP WBS | 2.3.4.13 ECP/VTK-m |
PI | Kenneth Moreland, ORNL |
Members | LANL, SNL, UO, Kitware |
Deliverables | VTK-m Quality Performance Integration 8 - performance evaluation, P6 Activity STDA05-62�VTK-m source code repository available at: https://gitlab.kitware.com/vtk/vtk-m |
7
Challenges with Kokkos
8
VTK-m is Frontier-Ready
9