[vtk-developers] Shared Memory Parallelism in VTK

David Gobbi david.gobbi at gmail.com
Mon Mar 16 23:17:56 EDT 2015


Hi Jianwei,

You wouldn't directly use TBB or Kaapi, because VTK provides an abstract
SMP interface.  This doxygen page provides a brief synopsis. The "Functor"
described on the page is a function-like object with the signature "void
func(vtkIdType first, vtkIdType last)" where vtkIdType is an integer type.
Basically, the SMP For() function is given a (first,last) range that covers
the entire data set, and divides it into smaller (first,last) sub-ranges
that the Functor operates on from within the worker threads.
http://www.vtk.org/doc/nightly/html/classvtkSMPTools.html

To complete the picture, you can take a look at the Kaapi back end and the
TBB back end:
https://gitlab.kitware.com/vtk/vtk/blob/master/Common/Core/SMP/Kaapi/vtkSMPToolsInternal.h.in
https://gitlab.kitware.com/vtk/vtk/blob/master/Common/Core/SMP/TBB/vtkSMPToolsInternal.h.in

So to answer your question, the proposal would be to write (and then
evaluate) an efficient parallel VTK algorithm that uses the abstract
interface described on the first web page.

Cheers,
 - David


On Mon, Mar 16, 2015 at 7:56 PM, jianwei li <ljianweiyx at gmail.com> wrote:

> So,do I need to write a proposal to implement anyone algorithm using TBB
> or XKaapi
>
> 2015-03-17 3:59 GMT+08:00 Berk Geveci <berk.geveci at kitware.com>:
>
>> Maybe a brief Wiki page describing the overall volume splitting and
>> static thread assignment would be good. We can put a link from the project
>> page. Beyond that, when/if we pick a student for the project and Google
>> funds it, we can elaborate.
>>
>> -berk
>>
>> On Mon, Mar 16, 2015 at 3:17 PM, David Gobbi <david.gobbi at gmail.com>
>> wrote:
>>
>>> On Mon, Mar 16, 2015 at 12:52 PM, Berk Geveci <berk.geveci at kitware.com>
>>> wrote:
>>>>
>>>>
>>>> David: Is there a reference describing the VTK threaded image algorithm
>>>> infrastructure or do we just point to the code?
>>>>
>>>
>>> There's no reference for vtkThreadedImageAlgorithm that I'm aware of,
>>> though I can write something up on the wiki.   Even though the code itself
>>> isn't very complicated, it would be hard to follow for anyone who isn't
>>> familiar with a) the streaming pipeline and b) the vtkMultiThreader.
>>>
>>>  - David
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20150316/c620f052/attachment.html>


More information about the vtk-developers mailing list