[Insight-developers] CMAKE_BUILD_TYPE=Release and-frename-registers

Lorensen, William E (GE, Research) lorensen at crd.ge.com
Fri Sep 1 07:47:08 EDT 2006


Gaetan,

There was a problem in the vnl upgrade that caused infinite loop at startup of some tests. This was introduced by the vnl thread-safe upgrade in late July. However, that problem shoud have been fixed around August 4. I suspect that there is a similar problem in another netlib routine.

I found the original problem by running a test from gdb and interupting the test after a short time. The traceback showed be the code that was looping.

Bill


-----Original Message-----
From: insight-developers-bounces+lorensen=crd.ge.com at itk.org
[mailto:insight-developers-bounces+lorensen=crd.ge.com at itk.org]On Behalf
Of Gaetan Lehmann
Sent: Thursday, August 31, 2006 11:12 AM
To: Luis Ibanez
Cc: insight-developers at itk.org
Subject: Re: [Insight-developers] CMAKE_BUILD_TYPE=Release
and-frename-registers


On Thu, 31 Aug 2006 16:32:06 +0200, Luis Ibanez <luis.ibanez at kitware.com>  
wrote:

>
> Hi Gaetan,
>
> A while ago (three or four years) we confirmed that -O2 optimization
> was not enough for getting the full advantage of the templated code
> in ITK.   Since then we have use -O3 level. At the time the test we
> done in particular in relation to the ImageIterators, which as you
> know are a critical component of all ITK filters.
>
> Do you have a specific reason for not using O3 ?
>

Yes: the tests are not passing
I think that's because -O3 activate the option -frename-registers.
If I try to set this option by hand in cmake, I get the error message

   -frename-registers causes runtime bugs.  It must be removed from your  
compilation options.

So I guess that's a known problem :-)

For example on  
http://www.itk.org/Testing/Sites/marvin.jouy.inra.fr/Mandriva2006.0-i586-gcc4.0.1-ExplicitInstantiation-Release/20060809-0100-Nightly/Test.html  
, you can see several (and some other errors caused by explicit  
instantiation). I still get the same timeouts (even without explicit  
instantiation) when compiled with -O3.

Everything is fine with -O2 -finline-functions. The only option disabled  
in that case, compared to -O3, is -frename-registers.

> ---
>
>
> Also, when you say that the test are running "for ever", do you mean
> the build process (compilation + linking) or the actual run-time
> execution of the test ?

the execution of the tests - see the link above

>
> Note that we have machines submitting to the Dahsboard that complete
> in 3 hours the full build of ITK with Testing, Examples and the
> wrapping for Tcl, Python and Java starting from a scratch.
>

I have the same build, on the same host, but in debug mode. Everything is  
fine in Debug mode: there is no timeout

Gaetan



>
> ---
>
> Please let us know,
>
>
>     Thanks
>
>
>        Luis
>
>
> --------------------
> Gaetan Lehmann wrote:
>>  Hi,
>>  For some time, some tests produced by my release build are running  
>> for  ever (I have even stop submitting to the dashboard, because the  
>> tests are  too long).
>> It seems that everything is fine when building with the default options  
>> of  my distro:
>>    -O2 -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fomit-frame-pointer  
>> -march=i586  -mtune=pentiumpro -fasynchronous-unwind-tables
>>   The only important difference seems to be the -O2 instead of the -O3  
>> used  by default for the Release CMAKE_BUILD_TYPE.
>> According to gcc man:
>>    -O3 Optimize yet more.  -O3 turns on all optimizations specified by  
>> -O2
>>       and also turns on the -finline-functions and -frename-registers
>>       options.
>>  But -frename-registers is a rejected option in ITK, so shouldn't   
>> CMAKE_BUILD_TYPE=Release set the gcc options to
>>    -O2 -finline-functions -DNDEBUG
>>  instead of
>>    -O3 -DNDEBUG
>>  ?
>>  Thanks,
>>  Gaetan
>>
>



-- 
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
_______________________________________________
Insight-developers mailing list
Insight-developers at itk.org
http://www.itk.org/mailman/listinfo/insight-developers


More information about the Insight-developers mailing list