<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-GB">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">I recently upgraded my Windows 10 system to ITK 5.2.1 including RTK 2.3.0.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">This also involved upgrading CUDA from 10.2 to 11.5, Visual Studio 2019 and even python update (3.8.5 to 3.8.12).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Using the python wrapping of RTK I implemented own routines that use FDK similar to the rtkfdk application.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">On the old system (ITK 5.2.1, RTK 2.1.0) I benchmarked the FDK for a 512x512x200 dataset reconstructed into 256x256x256 with 1.0 mm isotropic voxel size.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">The system is equipped with 24 CPU cores and one RTX 2080 Ti, so the CPU version took 17.1 and the CUDA version 1.2 seconds.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Running the new software version on the same system results in roughly 19 s CPU time but more than 7 s for the CUDA version.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">I don’t care about the actual timings but the relative increase of the CUDA version is what bothers me.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">To dig up some more information I recompiled RTK with RTK_PROBE_EACH_FILTER and ran rtkfdk.exe for the same data, this is what I got:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">**************************************************************************************************************<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Probe Tag                                    Starts    Stops     Time (s)       Memory (kB)    Cuda memory (kB)<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">**************************************************************************************************************<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">ChangeInformationImageFilter                 200       200       0.0211846      0              0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">ConstantImageSource                          1         1         0.0305991      65668          0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">CudaCropImageFilter                          13        13        0.0222911      15786.8        15753.8<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">CudaDisplacedDetectorImageFilter             13        13        0.0540568      10719.1        16384<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">CudaFDKBackProjectionImageFilter             13        13        0.0326397      5051.38        5041.23<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">CudaFDKConeBeamReconstructionFilter          1         1         5.72999        552184         211648<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">CudaFDKWeightProjectionFilter                13        13        0.0262806      -13892         630.154<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">CudaFFTRampImageFilter                       13        13        0.148416       43095.4        12499.7<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">CudaParkerShortScanImageFilter               13        13        0.0467202      2525.85        15753.8<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">ExtractImageFilter                           13        13        0.0259726      15812.3        -15753.8<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">ImageFileReader                              200       200       0.0226735      -0.16          0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">ImageSeriesReader                            200       200       0.066097       6.12           0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">ProjectionsReader                            1         1         26.0388        208488         0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">StreamingImageFilter                         2         2         16.0663        547512         191840<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">VnlRealToHalfHermitianForwardFFTImageFilter  2         2         0.0208174      0              0<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Following the conversion on the mailing list,
<a href="https://public.kitware.com/pipermail/rtk-users/2018-July/010617.html">https://public.kitware.com/pipermail/rtk-users/2018-July/010617.html</a>, I see that the CudaFDKConeBeamReconstructionFilter takes 6.41 s of which roughly 1/3 is spent in the CudaFFTRampImageFilter.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Sadly I don’t have these results for the old software version so I can’t relate these values.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">However, I also played around with v2.2.0 but it doesn’t make a difference.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Sadly, the version I used before (v2.1.0) won’t compile with CUDA 11.5 anymore. I tried to add small adjustments e.g. this commit
<a href="https://github.com/SimonRit/RTK/commit/3d3c7506087f5fa98aee75df5af5c30e7e51cbe6">
https://github.com/SimonRit/RTK/commit/3d3c7506087f5fa98aee75df5af5c30e7e51cbe6</a> to make things work but this didn’t work.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">The same happens with other errors when trying to setup ITK 5.1.2, so getting back the old version for comparison seems impossible.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-GB">Is there any direction you can point me to check what is actually the issue here? Or maybe someone has an idea what could be the reason?
</span>CUDA/RTK/ITK version?<o:p></o:p></p>
<p class="MsoNormal">Any help is appreciated.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b><span lang="EN-US" style="color:#145A6E;mso-fareast-language:DE">Best,<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US" style="color:#145A6E;mso-fareast-language:DE">Moritz<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span lang="EN-US" style="color:#145A6E;mso-fareast-language:DE"><o:p> </o:p></span></b></p>
</div>
</body>
</html>