Clip: Improve performance and memory consumption
The following set of improvements have been implemented for the Clip algorithm:
- Input points that are kept are determined by comparing their scalar value with the isovalue, instead of checking the output cells' connectivity.
- Output arrays are written only once, and they are not transformed. Due to that, no auxiliary arrays are needed to perform the transformations.
- A fast path for discarded and kept cells has been added, which are the most common cell cases.
- ClipTables are now more descriptive, and the non-inverted case tables have been imported from VTK, such that both VTK and VTK-m produce the same results.
- Employ batching of points and cells to use less memory and perform less and faster computations.
The new Clip
algorithm:
- has up to 2.13x less memory footprint
- is up to 4.43x faster on the CPU
- is TODOx faster on the GPU
Edited by Spiros Tsalikis