<div dir="ltr">Hi Vishal,<br><br>1. One of the ways of profiling on Linux is using callgrind for collecting the performance profiling information <a href="http://linux.die.net/man/1/callgrind">http://linux.die.net/man/1/callgrind</a><br>   command = "valgrind --tool=callgrind " + appname + call + " -out " + out<br>   That will generate profile files like callgrind.out.xxxx. Then you could use the KCachegrind tool <a href="http://kcachegrind.sourceforge.net/html/Home.html">http://kcachegrind.sourceforge.net/html/Home.html</a><br>   to visualize this files and see all the timings. No special code injections or compilation flags are needed.<br><br>2. The resampling (itk::ResampleImageFilter) part of the image registration is highly optimized for GPU. <br>   The performance reaches incredible 0.1 sec execution time on modern cards, depending on image size, interpolator and transformations.<br>   The work and source code could be found at Insight Journal <a href="http://insight-journal.org/browse/publication/884">http://insight-journal.org/browse/publication/884</a><br><br>   It is possible to convert some algorithms to GPU, but would require skill, time and a lot of testing. Good luck with that ;)<br><br>   You could relatively easy integrate (itk::GPUResampleImageFilter) in your application, see itkGPUResampleImageFilterTest.cxx of the submission.<br>   One way to use ::RegisterOneFactory() calls to replace CPU version with GPU, other way explicit creation.<br>   -  See test\itkGPUResampleImageFilterTest.cxx for implicit replacement of the itk::ResampleImageFilter to GPU version.<br>   -  See the elastix component called OpenCLResampler in  elastix\ src\Components\Resamplers\OpenCLResampler.<br><br>3. The elastix a toolbox for rigid and nonrigid registration of images <a href="http://elastix.isi.uu.nl">http://elastix.isi.uu.nl</a><br>   To enable GPU resampling (itk::GPUResampleImageFilter) in elastix, just set this two parameters (below) to true and enjoy.<br>   Resampler "OpenCLResampler"<br>   OpenCLResamplerUseOpenCL "true"<br>   <br>   Regards, <br>   <br>   Denis P. Shamonin,<br>   Division of Image Processing (LKEB)<br>   Department of Radiology<br>   Leiden University Medical Center<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On 15 January 2016 at 09:28, vishal <span dir="ltr"><<a href="mailto:itkhelpacc@gmail.com" target="_blank">itkhelpacc@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
I have three question:<br>
<br>
[1] I working on a registration algorithm that takes half an hour to<br>
converge... I want to optimize my code.. so I need to no which module takes<br>
the most computation time.. is there any method to do this?<br>
<br>
[2] after analysing the code is it possible to convert the CPU based module<br>
to GPU based module? Can any one guide to do that?<br>
<br>
[3] I came across this software called ELASTIX.. wherein there are many ITK<br>
modules written to run on GPU.. is it possible for me to include these<br>
modules into my code directly??<br>
<br>
any suggestion is appreciated...<br>
thank you<br>
<br>
Regards<br>
Vishal<br>
<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://itk-users.7.n7.nabble.com/How-to-analyse-the-time-taken-by-each-module-and-use-of-ELASTIX-in-ITK-tp36650.html" rel="noreferrer" target="_blank">http://itk-users.7.n7.nabble.com/How-to-analyse-the-time-taken-by-each-module-and-use-of-ELASTIX-in-ITK-tp36650.html</a><br>
Sent from the ITK - Users mailing list archive at Nabble.com.<br>
_____________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" rel="noreferrer" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" rel="noreferrer" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/insight-users" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/insight-users</a><br>
</blockquote></div><br></div>