[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.
Roman
--
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 ParaView
mailing list