<div dir="ltr"><div><div><div>Hi,<br>Thanks! A few things. First, going from the latest release to HEAD, I had a compilation issue:<br><font size="1">/home/<span style class="">srit</span>/<span style class="">src</span>/itk4/<span style class="">itk</span>/Modules/Filtering/<span style class="">FFT</span>/include/<span style class="">itkFFTWHalfHermitianToRealInve</span><span style class="">rseFFTImageFilter</span>.<span style class="">hxx</span>:103:5: required from ‘void <span style class="">itk</span>::<span style class="">FFTWHalfHermitianToRealInverse</span><span style class="">FFTImageFilter</span><<span style class="">TInputImage</span>, <span style class="">TOutputImage</span>>::<span style class="">BeforeThreadedGenerateData</span>() [with <span style class="">TInputImage</span> = <span style class="">itk</span>::Image<std::complex<double>, 3u>; <span style class="">TOutputImage</span> = <span style class="">itk</span>::Image<double, 3u>]’<br>
/home/<span style class="">srit</span>/<span style class="">src</span>/<span style class="">rtk</span>/<span style class="">rtk</span>/testing/<span style class="">rtkdisplaceddetectortest</span>.<span style class="">cxx</span>:203:1: required from here<br>
/<span style class="">usr</span>/lib/<span style class="">gcc</span>/x86_64-<span style class="">redhat</span>-<span style class="">linux</span>/4.7.2/../../../../include/c++/4.7.2/bits/<span style class="">stl</span>_<span style class="">algobase</span>.h:329:8: <span style class="">erreur</span>: incompatible types in assignment of ‘const std::complex<double>’ to ‘double [2]’<br>
</font><br>I fixed it with a pointer cast<span></span><span></span><br><font size="1">diff --git a/Modules/Filtering/<span style class="">FFT</span>/include/<span style class="">itkFFTWHalfHermitianToRealInve</span><span style class="">rseFFTImageFilter</span>.<span style class="">hxx</span> b/Modules/Filtering/<span style class="">FFT</span>/include/<span style class="">itkFFTWHalfHermitianToRealInve</span><span style class="">rseFFTImageFilter</span>.<span style class="">hxx</span><br>
index 9338cb1..806d803 100644<br>--- a/Modules/Filtering/<span style class="">FFT</span>/include/<span style class="">itkFFTWHalfHermitianToRealInve</span><span style class="">rseFFTImageFilter</span>.<span style class="">hxx</span><br>
+++ b/Modules/Filtering/<span style class="">FFT</span>/include/<span style class="">itkFFTWHalfHermitianToRealInve</span><span style class="">rseFFTImageFilter</span>.<span style class="">hxx</span><br>@@ -100,7 +100,7 @@ <span style class="">FFTWHalfHermitianToRealInverse</span><span style class="">FFTImageFilter</span>< <span style class="">TInputImage</span>, <span style class="">TOutputImage</span> ><br>
!m_<span style class="">CanUseDestructiveAlgorithm</span> );<br> if( !m_<span style class="">CanUseDestructiveAlgorithm</span> )<br> {<br>- <span style class="">itk</span>::algorithm::copy_n(<span style class="">inputPtr</span>-><span style class="">GetBufferPointer</span>(), <span style class="">totalInputSize</span>, in);<br>
+ <span style class="">itk</span>::algorithm::copy_n((<span style class="">typename</span> <span style class="">FFTWProxyType</span>::<span style class="">ComplexType</span>*)<span style class="">inputPtr</span>-><span style class="">GetBufferPointer</span>(), <span style class="">totalInputSize</span>, in);<br>
}<br> <span style class="">FFTWProxyType</span>::Execute( plan );<br></font><br>Second, there is a missing parenthesis in the patch:<br><font size="1">/home/<span style class="">srit</span>/<span style class="">src</span>/itk4/lin64-<span style class="">dg</span>/<span style class="">fftwd</span>_configure_step.<span style class="">cmake</span>:36:<br>
Parse error. Function missing ending ")". End of file reached.<br>
<br></font></div><font>Finally, <font>the patch <font><span style class="">propa</span><font>gates -O3 but d<font><span style class="">oes</span></font> not fully fix the speed issue. A<font><span style class="">fter</span> a bit more digging, it turns out that sse2 instructions are not automatically ac<font><span style class="">tivated</span><font>. One must <font>set <span style class="">FFTW</span>_OPTIMIZATION_CONFIGURATION to "--enable-sse2". <span style class="">Shoul</span><font><span style class="">dn't</span> this be done automatically? <font>Setting it fixed the compilation time.</font><br>
</font></font></font></font></font></font></font></font></font></div><font><font><font><font><font><font><font><font><font><font>Thanks a<font>gain for your help<font>,<br></font></font></font></font></font></font></font></font></font></font></font></font></div>
<font>
<font><font><font><font><font><font><font><font><font><font><font><font><font>Simon</font><br></font></font></font></font></font></font></font></font></font></font></font></font></font><div class="gmail_extra"><font>
</font><br><br><div class="gmail_quote">On Fri, Apr 12, 2013 at 8:27 PM, Bradley <span style class="">Lowekamp</span> <span dir="ltr"><<a href="mailto:blowekamp@mail.nih.gov" target="_blank"><span style class="">blowekamp</span>@mail.<span style class="">nih</span>.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
I have placed a patch on gerrit for review:<br>
<br>
<a href="http://review.source.kitware.com/#/c/10848/" target="_blank">http://review.source.kitware.com/#/c/10848/</a><br>
<br>
Please let us know if works for you.<br>
<br>
Brad<br>
<div><div><br>
On Apr 12, 2013, at 12:15 PM, Bradley Lowekamp <<a href="mailto:blowekamp@mail.nih.gov" target="_blank">blowekamp@mail.nih.gov</a>> wrote:<br>
<br>
> Looking at the cmake build scripts:<br>
><br>
> <a href="https://github.com/Kitware/ITK/blob/master/CMake/itkExternal_FFTW.cmake#L44" target="_blank">https://github.com/Kitware/ITK/blob/master/CMake/itkExternal_FFTW.cmake#L44</a><br>
><br>
> It looks like CMAKE_C_FLAGS_RELEASE is not getting passed.<br>
><br>
> I'll see if I can take this on after lunch.<br>
><br>
> Brad<br>
><br>
> On Apr 12, 2013, at 11:30 AM, Simon Rit <<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>> wrote:<br>
><br>
>> I'm not sure it's the reason: I don't expect a two fold improvement<br>
>> and the system has the same version installed, 3.3.2. Are we sure that<br>
>> the release flags are passed to FFTW? When I looked at the compilation<br>
>> log, I don't see -O3, here is an excerpt:<br>
>><br>
>> /bin/sh ../libtool --tag=CC --mode=compile /usr/bin/cc -std=gnu99<br>
>> -DHAVE_CONFIG_H -I.<br>
>> -I/home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/kernel -I..<br>
>> -I/home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/simd<br>
>> -Wno-uninitialized -Wno-unused-parameter -Wall -Wcast-align<br>
>> -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch<br>
>> -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused<br>
>> -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -MT<br>
>> cpy2d-pair.lo -MD -MP -MF .deps/cpy2d-pair.Tpo -c -o cpy2d-pair.lo<br>
>> /home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/kernel/cpy2d-pair.c<br>
>> libtool: compile: /usr/bin/cc -std=gnu99 -DHAVE_CONFIG_H -I.<br>
>> -I/home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/kernel -I..<br>
>> -I/home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/simd -Wno-uninitialized<br>
>> -Wno-unused-parameter -Wall -Wcast-align -Wdisabled-optimization<br>
>> -Wextra -Wformat=2 -Winvalid-pch -Wno-format-nonliteral<br>
>> -Wpointer-arith -Wshadow -Wunused -Wwrite-strings -funit-at-a-time<br>
>> -Wno-strict-overflow -MT cpy2d-pair.lo -MD -MP -MF<br>
>> .deps/cpy2d-pair.Tpo -c<br>
>> /home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/kernel/cpy2d-pair.c -o<br>
>> cpy2d-pair.o<br>
>> mv -f .deps/cpy2d-pair.Tpo .deps/cpy2d-pair.Plo<br>
>> /bin/sh ../libtool --tag=CC --mode=compile /usr/bin/cc -std=gnu99<br>
>> -DHAVE_CONFIG_H -I.<br>
>> -I/home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/kernel -I..<br>
>> -I/home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/simd<br>
>> -Wno-uninitialized -Wno-unused-parameter -Wall -Wcast-align<br>
>> -Wdisabled-optimization -Wextra -Wformat=2 -Winvalid-pch<br>
>> -Wno-format-nonliteral -Wpointer-arith -Wshadow -Wunused<br>
>> -Wwrite-strings -funit-at-a-time -Wno-strict-overflow -MT cpy2d.lo<br>
>> -MD -MP -MF .deps/cpy2d.Tpo -c -o cpy2d.lo<br>
>> /home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/kernel/cpy2d.c<br>
>> libtool: compile: /usr/bin/cc -std=gnu99 -DHAVE_CONFIG_H -I.<br>
>> -I/home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/kernel -I..<br>
>> -I/home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/simd -Wno-uninitialized<br>
>> -Wno-unused-parameter -Wall -Wcast-align -Wdisabled-optimization<br>
>> -Wextra -Wformat=2 -Winvalid-pch -Wno-format-nonliteral<br>
>> -Wpointer-arith -Wshadow -Wunused -Wwrite-strings -funit-at-a-time<br>
>> -Wno-strict-overflow -MT cpy2d.lo -MD -MP -MF .deps/cpy2d.Tpo -c<br>
>> /home/srit/src/itk4/lin64-dg/fftwd/src/fftwd/kernel/cpy2d.c -o cpy2d.o<br>
>> mv -f .deps/cpy2d.Tpo .deps/cpy2d.Plo<br>
>><br>
>><br>
>> On Fri, Apr 12, 2013 at 5:21 PM, Bill Lorensen <<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>> wrote:<br>
>>> Looks like the fftw folks have made some efficiency improvements.<br>
>>><br>
>>><br>
>>><br>
>>> On Fri, Apr 12, 2013 at 11:18 AM, Simon Rit <<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>><br>
>>> wrote:<br>
>>>><br>
>>>> I should have mentioned it: yes, it is!<br>
>>>><br>
>>>> On Fri, Apr 12, 2013 at 5:16 PM, Bill Lorensen <<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>><br>
>>>> wrote:<br>
>>>>> Is your ITK built Release?<br>
>>>>><br>
>>>>><br>
>>>>><br>
>>>>> On Fri, Apr 12, 2013 at 11:13 AM, Simon Rit<br>
>>>>> <<a href="mailto:simon.rit@creatis.insa-lyon.fr" target="_blank">simon.rit@creatis.insa-lyon.fr</a>><br>
>>>>> wrote:<br>
>>>>>><br>
>>>>>> Hi,<br>
>>>>>> We have recently observed on a fedora distribution that FFTW is two<br>
>>>>>> times slower when one uses the ITK compilation<br>
>>>>>> (USE_SYSTEM_FFTW:BOOL=OFF, default) than when one uses the system fftw<br>
>>>>>> (USE_SYSTEM_FFTW:BOOL=ON).<br>
>>>>>><br>
>>>>>> We have looked for an explanation in the flags (the Fedora flags are<br>
>>>>>> available here<br>
>>>>>> <a href="http://pkgs.fedoraproject.org/cgit/fftw.git/tree/fftw.spec" target="_blank">http://pkgs.fedoraproject.org/cgit/fftw.git/tree/fftw.spec</a>)<br>
>>>>>> but we have not managed to figure it out. Would someone happen to have<br>
>>>>>> an explanation and solution?<br>
>>>>>><br>
>>>>>> Thanks in advance,<br>
>>>>>> Simon<br>
>>>>>> _____________________________________<br>
>>>>>> Powered by <a href="http://www.kitware.com" 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" 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" 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" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
>>>>>><br>
>>>>>> Follow this link to subscribe/unsubscribe:<br>
>>>>>> <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
>>>>><br>
>>>>><br>
>>>>><br>
>>>>><br>
>>>>> --<br>
>>>>> Unpaid intern in BillsBasement at noware dot com<br>
>>><br>
>>><br>
>>><br>
>>><br>
>>> --<br>
>>> Unpaid intern in BillsBasement at noware dot com<br>
>> _____________________________________<br>
>> Powered by <a href="http://www.kitware.com" 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" 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" 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" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
>><br>
>> Follow this link to subscribe/unsubscribe:<br>
>> <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
><br>
> _____________________________________<br>
> Powered by <a href="http://www.kitware.com" 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" 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" 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" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
<br>
_____________________________________<br>
Powered by <a href="http://www.kitware.com" 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" 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" 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" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
</div></div></blockquote></div><br></div></div>