[Insight-users] [Insight-developers] Cuda ITK : Claims should be backed up by reproducible Experirments

Hua-Mei Chen huameichen0523 at gmail.com
Thu Feb 12 23:41:31 EST 2009


There are many "optimized" CUDA codes available at CUDA SDK 
(www.nvidia.com/object/cuda_get.html) that you can test. Usually you can 
easily get the "speedup" achieved in your platform by adding a timer. I just 
tested the "convolutionSeparable.cu" code and it gave me a speedup of ~170 
times (1308 ms vs 7.7 ms) on a GeForce 8800 GXT card. My platform is Dell 
PC, Intel Core 2 Quad CPU, XP, MSVC2005.

I want to emphasize that my claim was ... on "some" routines, not all 
routines, nor the overall performance. I myself do not think it should be 
discussed on this list. I just wanted to share some of my observations.

Finally, I just found this interesting site : 
http://wiki.na-mic.org/Wiki/index.php/ITK_Image_Registration_with_CUDA

I am still learning ITK and hopefully I can rewrite my codes using ITK soon.

Chen





----- Original Message ----- 
From: "Luis Ibanez" <luis.ibanez at kitware.com>
To: "Hua-Mei Chen" <huameichen0523 at gmail.com>
Cc: "Marcel Weiss" <mweiss at cbs.mpg.de>; <insight-users at itk.org>; 
<insight-developers at itk.org>
Sent: Thursday, February 12, 2009 4:46 PM
Subject: Re: [Insight-users] [Insight-developers] Cuda ITK : Claims should 
be backed up by reproducible Experirments


>
>
> Before we start drowning in reports of *anecdotic* experiences with
> CUDA, that will metamorphosize into over-simplified *superstitions*
> such as
>
>
>              "Cuda is 100 times faster"
> or           "Cuda doesn't make a difference"...
>
>
> Let's go back to the basic principles of rational thinking.
>
>
> A good starting point would be to put code into a common open repository
> and to set up Nightly builds that will be submitted to the Experimental
> section of the ITK Dashboard. Just as we do with the Statistics
> Refactoring and the Lesion Sizing Toolkit.
>
> Otherwise we will simply create a precedent of confusion.
>
> Any claims about Methods should be based on
>
>    * available code
>    * available data
>    * available parametes
>
> that will make possible for others to reproduce the experiments
> leading to such claims.
>
> Can you guys post your CUDA code in a public repository ?
>
> See for example the CUDA code in the NAMIC Sandbox:
> http://svn.na-mic.org/NAMICSandBox/trunk/MistSlicer/Modules/VolumeRenderingCuda/
>
>
> Could you as well,
> when you report your experience,
> please include full details on how you performed them  ?
>
>
> E.g.
> * size of datasets,
> * algorithms you ran,
> * hardware configurations...
>
>
>
>    Otherwise,
>    if we are talking a bout code that can not be shared,
>    then,
>    there is no point on bringing such topic to this list,   :-)
>    isn't it ?
>
>
>
>     Luis
>
>
> -------------------
> Hua-Mei Chen wrote:
>> I have seen several discussions on this issue before in this emailing 
>> list. My impression is that it is not possible or very difficult to 
>> combine CUDA and ITK for now. All I can say is that CUDA indeed is able 
>> to give you a significant speedup, but it strongly depends on the quality 
>> of your CUDA codes.
>>
>> Chen
>>
>>
>> ----- Original Message ----- From: "Marcel Weiss" <mweiss at cbs.mpg.de>
>> To: "Hua-Mei Chen" <huameichen0523 at gmail.com>
>> Cc: <insight-users at itk.org>; <insight-developers at itk.org>
>> Sent: Thursday, February 12, 2009 11:06 AM
>> Subject: Re: [Insight-developers] [Insight-users] Cuda ITK
>>
>>
>> As we ordered a new number crunching machine including a NVIDIA Tesla TM 
>> C1060 and we are planning to use it for the fast processing of our 
>> high-resolition 3D images, I´d be interested in some more statements and 
>> experiences on CUDA (pure and/or with ITK).
>>
>> Would you suggest planning and programming new code or adjusting existing 
>> code?
>> I´m sure there is a tradeoff between man power needed and speed-up gained 
>> ...
>>
>> Marcel Weiss
>> Dipl.-Inf.(FH)
>> PhD student
>> Department of Neurophysics
>> Max Planck Institute for Human Cognitive and Brain Sciences
>>
>> ----- Original Message -----
>> From: "Hua-Mei Chen" <huameichen0523 at gmail.com>
>> To: "Dan Mueller" <dan.muel at gmail.com>, "Gaëtan Lehmann" 
>> <gaetan.lehmann at jouy.inra.fr>, "Badri Roysam" <roysam at ecse.rpi.edu>
>> Cc: "ITK Users" <insight-users at itk.org>, "ITK Developers" 
>> <insight-developers at itk.org>
>> Sent: Thursday, February 12, 2009 5:21:11 PM GMT +01:00 Amsterdam / 
>> Berlin / Bern / Rome / Stockholm / Vienna
>> Subject: Re: [Insight-developers] [Insight-users]  Cuda ITK
>>
>> Well, we wrote some PURE CUDA code for our mutual information based
>> non-rigid registration. It did give us a significant (> 100 times for 
>> some
>> routines) speedup. But I have no idea how to use it with ITK.
>>
>> Chen
>>
>>
>> ----- Original Message ----- From: "Badri Roysam" <roysam at ecse.rpi.edu>
>> To: "Dan Mueller" <dan.muel at gmail.com>; "Gaëtan Lehmann"
>> <gaetan.lehmann at jouy.inra.fr>
>> Cc: "ITK Users" <insight-users at itk.org>; "ITK Developers"
>> <insight-developers at itk.org>
>> Sent: Thursday, February 12, 2009 8:50 AM
>> Subject: Re: [Insight-users] [Insight-developers] Cuda ITK
>>
>>
>> We invested heavily in GPUs and CUDA in my lab a couple of years ago. Our
>> practical
>> experience has been that these things don't work quite as we had imagined
>> from the
>> advertising. In other words, when we compiled our vessel segmentation 
>> codes
>> on CUDA,
>> we found no speedup (in some case, it was slower than optimized 
>> compilation
>> on the CPU.
>> It took a lot of work to get speedup over serial code. You have to 
>> rethink
>> your
>> code to suit a streaming architecture, and spend time working out the 
>> data
>> flows carefully.
>> Overall, we learned that the effort involved in building
>> "GPU versions" of existing routines is
>> manpower intensive. I am interested to know what others' experience has
>> been.
>>
>>
>> Badri Roysam
>> Professor, Department of Electrical, Computer and Systems Engineering
>> Associate Director, NSF Center for Subsurface Sensing & Imaging Systems
>> (CenSSIS ERC)
>> Co-Director, Rensselaer Center for Open Source Software
>> Rensselaer Polytechnic Institute
>> 110 8th Street, Troy, New York 12180-3590, USA.
>> Office(JEC 7010): 518-276-8067, Assistant: 518-276-8525, Lab(JEC 6308):
>> 518-276-8207, Fax: 518-276-8715
>> Email: roysam at ecse.rpi.edu, Web: http://www.ecse.rpi.edu/~roysam
>>
>>
>>
>> ----- Original Message -----
>> From: Dan Mueller [mailto:dan.muel at gmail.com]
>> To: Gaëtan Lehmann [mailto:gaetan.lehmann at jouy.inra.fr]
>> Cc: ITK Users [mailto:insight-users at itk.org], ITK Developers
>> [mailto:insight-developers at itk.org]
>> Subject: Re: [Insight-users] [Insight-developers] Cuda ITK
>>
>>
>>> Hi Gaetan,
>>>
>>> I too have been following the closely development of the GPGPU field
>>>     http://en.wikipedia.org/wiki/Gpgpu
>>> and waiting for ITK to jump on board (unfortunately I have had little
>>> spare time to spearhead this myself).
>>>
>>> I remember speaking to Luis at a t-con last year about ITK+CUDA and he
>>> mentioned one of outcomes of the project was discovering that CUDA is
>>> not (yet) very portable (i.e. code that works on one NVIDIA card, does
>>> not necessarily work on another).
>>>
>>> If ITK is going to be GPGPU-enabled, then perhaps the OpenCL standard
>>> will provide more portability:
>>>     http://en.wikipedia.org/wiki/OpenCL
>>>
>>> Obviously OpenCL is still new (version 1.0 approved December 8, 2008),
>>> but I imagine we'll start seeing supporting hardware soon
>>>     http://www.nvidia.com/object/io_1228825271885.html
>>>
>>> http://news.softpedia.com/news/AMD-Takes-Up-OpenCL-1-0-Puts-More-Effort-on-ATI-Stream-SDK-99578.shtml
>>> and maybe even Intel's Larrabee
>>>     http://www.hpcwire.com/blogs/OpenCL_On_the_Fast_Track_33608199.html
>>>
>>> (I don't think NVIDIA or ATI has to date officially announced a chip
>>> with OpenCL support...I'd be happy to be proved wrong...)
>>>
>>> Because much of this is still speculative, it doesn't really factor
>>> into your discussion about what hardware to buy today... Just a
>>> warning: while CUDA is the pioneer, it may not be be around to see the
>>> real action.
>>>
>>> Cheers, Dan
>>>
>>> 2009/2/11 Gaëtan Lehmann <gaetan.lehmann at jouy.inra.fr>:
>>> >
>>> > Hi,
>>> >
>>> > We are currently thinking to buy a few powerful workstations to run 
>>> > ITK
>>> > in
>>> > my lab.
>>> > I heard of nvidia's tesla cards, and I see that some experiments has
>>> > been
>>> > made to use them in ITK.
>>> >
>>> > http://www.na-mic.org/Wiki/images/f/f9/Itk-gpu-meeting-Fall2007.ppt
>>> >
>>> > Is there any update since fall 2007?
>>> >
>>> > Regards,
>>> >
>>> > Gaëtan
>>> >
>>> >
>>> > --
>>> > Gaëtan Lehmann
>>> > Biologie du Développement et de la Reproduction
>>> > INRA de Jouy-en-Josas (France)
>>> > tel: +33 1 34 65 29 66    fax: 01 34 65 29 09
>>> > http://voxel.jouy.inra.fr  http://www.mandriva.org
>>> > http://www.itk.org  http://www.clavier-dvorak.org
>>> _____________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at 
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ITK FAQ at: 
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ITK FAQ at: 
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users 



More information about the Insight-users mailing list