[vtkusers] [Paraview] making vtkGaussianSplatter multi-threaded

Dr. Roman Grothausmann grothausmann.roman at mh-hannover.de
Mon Jan 12 09:58:47 EST 2015

Dear David,

Many thanks for Your reply and explanations.
On 12/01/15 14:55, David Gobbi wrote:
> On Mon, Jan 12, 2015 at 3:56 AM, Dr. Roman Grothausmann
> serializing the writes.  Hence, in order for vtkGaussianSplatter to be properly
> multi-threaded, each thread must write to its own block of output memory.  After
> the splatting is done these must be composited together.

So a simple way to make vtkGaussianSplatter multi-threaded would be to partition 
the input points into n groups and run vtkGaussianSplatter on each group, 
resulting in n fully sized outputs, which have to be combine together 
afterwards. The problem is that this will need n times the memory.

> I wrote a multi-threaded splatting filter once (for ultrasound reconstruction),
> and in that case I divided my input points such that each thread would write to
> different (but adjacent) memory regions within the output.  It performed well
> but wasn't completely thread-safe, because it was possible for memory collisions
> to occur on the border between the regions.

Would it help and be possible to only lock access in these border regions?

Many thanks again.

Dr. Roman Grothausmann

Tomographie und Digitale Bildverarbeitung
Tomography and Digital Image Analysis

Institut für Funktionelle und Angewandte Anatomie, OE 4120
Medizinische Hochschule Hannover
Carl-Neuberg-Str. 1
D-30625 Hannover

Tel. +49 511 532-9574

More information about the vtkusers mailing list