<div dir="ltr">It is there in VTK Git master. It is also in the last version I am pretty sure.<div><br></div><div>Best,</div><div>-berk</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 17, 2015 at 10:19 AM, jianwei li <span dir="ltr"><<a href="mailto:ljianweiyx@gmail.com" target="_blank">ljianweiyx@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Hi<br></div>   There is no the <vtkSMPTools.h>  in the VTK source file.Is this a unused class,and we have to complete it in the future.<br></div>Best Regard<span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888">     Jianwei Li<br></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2015-03-17 21:54 GMT+08:00 jianwei li <span dir="ltr"><<a href="mailto:ljianweiyx@gmail.com" target="_blank">ljianweiyx@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi<br></div>   Now,in my proposal,I want use the implemented paralle methods to implemente the cutting algorithm.But,do you have a guide line for the implemented paralle methods.<br></div>   Thank you<br></div>Cheers<span><font color="#888888"><br></font></span></div><span><font color="#888888">  Jianwei<br></font></span></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-03-17 11:17 GMT+08:00 David Gobbi <span dir="ltr"><<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Jianwei,<div><br></div><div>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.</div><div><a href="http://www.vtk.org/doc/nightly/html/classvtkSMPTools.html" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkSMPTools.html</a><br></div><div><br></div><div>To complete the picture, you can take a look at the Kaapi back end and the TBB back end:</div><div><a href="https://gitlab.kitware.com/vtk/vtk/blob/master/Common/Core/SMP/Kaapi/vtkSMPToolsInternal.h.in" target="_blank">https://gitlab.kitware.com/vtk/vtk/blob/master/Common/Core/SMP/Kaapi/vtkSMPToolsInternal.h.in</a></div><div><a href="https://gitlab.kitware.com/vtk/vtk/blob/master/Common/Core/SMP/TBB/vtkSMPToolsInternal.h.in" target="_blank">https://gitlab.kitware.com/vtk/vtk/blob/master/Common/Core/SMP/TBB/vtkSMPToolsInternal.h.in</a><br></div><div><br></div><div>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.</div><div><br></div><div>Cheers,</div><div> - David</div><div><br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 16, 2015 at 7:56 PM, jianwei li <span dir="ltr"><<a href="mailto:ljianweiyx@gmail.com" target="_blank">ljianweiyx@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">So,do I need to write a proposal to implement anyone algorithm using TBB or XKaapi<br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-03-17 3:59 GMT+08:00 Berk Geveci <span dir="ltr"><<a href="mailto:berk.geveci@kitware.com" target="_blank">berk.geveci@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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.<span><font color="#888888"><div><br></div><div>-berk</div></font></span></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 16, 2015 at 3:17 PM, David Gobbi <span dir="ltr"><<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Mon, Mar 16, 2015 at 12:52 PM, Berk Geveci <span dir="ltr"><<a href="mailto:berk.geveci@kitware.com" target="_blank">berk.geveci@kitware.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>David: Is there a reference describing the VTK threaded image algorithm infrastructure or do we just point to the code?</div></div></blockquote><div><br></div></span><div>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.</div><span><font color="#888888"><div><br></div><div> - David</div></font></span></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>
</div></div></blockquote></div><br></div>