Ettinger, MathiasBroquedis, F.Gautier, T.Ploix, S.Raffin, BrunoFabio Marton and Kenneth Moreland2014-01-262014-01-262013978-3-905674-45-31727-348Xhttps://doi.org/10.2312/EGPGV/EGPGV13/041-048NUMA nodes are potentially powerful but taking benefit of their capabilities is challenging due to their architecture (multiple computing cores, advanced memory hierarchy). They are nonetheless one of the key components to enable processing the ever growing amount of data produced by scientific simulations. In this paper we study the parallelization of patterns commonly used in VTK algorithms and propose a new multithreaded plugin for VTK that eases the development of parallel multi-core VTK filters. We specifically focus on task-based approaches and show that with a limited code refactoring effort we can take advantage of NUMA node capabilities. We experiment our patterns on a transform filter, base isosurface extraction filter and a min/max tree accelerated isosurface extraction. We support 3 programming environments, OpenMP, Intel TBB and X-KAAPI, and propose different algorithmic refinements according to the capabilities of the target environment. Results show that we can speed execution up to 30 times on a 48-core machine.Computer Graphics [I.3.1]Hardware ArchitectureParallel processingProcessor Architectures [C.1.2]Multiple Data Stream Architectures (Multiprocessors)Parallel ProcessorsProgramming Techniques [D.1.3]Concurrent ProgrammingParallel ProgrammingVtkSMP: Task-based Parallel Operators for VTK Filters