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

Gaëtan Lehmann gaetan.lehmann at jouy.inra.fr
Fri Sep 1 19:14:12 EDT 2006


Le Fri, 01 Sep 2006 22:39:43 +0200, Bill Lorensen  
<bill.lorensen at gmail.com> a écrit:

> Gaetan,
>
> Please update your build and see if my changes fix your problem. I turned
> off optimization for code in vxl/v3p that is run at program startup.

I'm currently running an Experimental build. They will be available on the  
dashboard with the name  
Mandriva2006.0-i586-gcc4.0.1-ExplicitInstantiation-Release

Thanks,

Gaetan

>
> Bill
>
> On 9/1/06, Lorensen, William E (GE, Research) <lorensen at crd.ge.com>  
> wrote:
>>
>> 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
>> _______________________________________________
>> Insight-developers mailing list
>> Insight-developers at itk.org
>> http://www.itk.org/mailman/listinfo/insight-developers
>>



-- 
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


More information about the Insight-developers mailing list