[Insight-developers] vxl update

Bill Lorensen bill.lorensen at gmail.com
Wed Dec 8 17:40:56 EST 2010


I am concerned about an academic argument versus a commercial
argument. Academics are much more likely to upgrade infrastructure
like compilers. For a company and its customers, compiler upgrades are
non-trivial, possibly impacting many products.

On Wed, Dec 8, 2010 at 11:33 AM, Hans Johnson <hans-johnson at uiowa.edu> wrote:
>
> First:  I am willing to loose this argument.  I just think it is important
> that we think about the cons of supporting a wide range of compilers.
>
> The default download of mingw is version 4.5 of the gcc compiler.  After
> several minute of looking, I could not find the mingw 3 series.
>
> ===
>
> I am concerned that the gcc3 compiler has several work a rounds that have
> been propagated with the ITKv3 being mainly tuned for gcc3 compiler.
>
> This still needs testing, but there is some anecdotal evidence form Brad
> Lowekamp that the TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING improves
> performance on gcc3, but gcc4 (and any vectorizing compilers)  are
> significantly better with the for loops.
>
> ===  What follows are my options
> To me, the scariest part of making ITKv4 live for the next 10 years on it's
> own without significant funding support, is the maintenance of the software.
> Any way that we can minimize the maintenance support structure of ITKv4 now
> will pay back dividends later (yes this is a developer concern, not an
> end-user concern).  If we drive away developers because of the difficulty in
> supporting too many compilers, we have shot ourselves in the foot.  I can
> tell you that we have items that we would have contributed to ITKv3, but the
> pain in getting it to work with the Borland compiler means that it is still
> in our won private svn repository.
>
> From surveys, ITK has a bad reputation of having poor performance.  With
> performance, we moved to gcc4 many years ago because the gcc4 compiler
> produced so much better performance.
>
> My opinion is that there are two comminutes that we should focus on: 1) ITK
> users who are software/algorithm developers, 2) medical image processing end
> users who prefer pre-built binaries.
>
> Group #1 is mostly using a fairly recent freely available version of
> compilers for their platforms.  The ITK dashboard has many compilers that
> are only used for testing, but never really used by end users.  I'd contend
> that if there is a user community that depends on Mac 10.3.9 (released in
> April 15, 2005).  That communities need for ITKv4 is not large enough to
> justify the effort of maintaining it.  Even RedHat EL4 (4.1, also known as
> Update 1, 2005-06-09) has gccv4, and RedHat is one of the most conservative
> Linux variations.
>
> Group #2 depends on Group #1 to get them the best compiled version of the
> library.
>
> In my highly opinionated cost/benefit analysis, we will gain more happy
> end-users from targeted performance testing and maintenance simplifications
> at the cost of a few un-happy end-users who will be required to find a way
> to install an updated free (from a licensing perspective) one of our few
> supported compilers.
>
> For ITKv4's life cycle of September 2011-2020, we should target the
> "available commodity" compilers of the most commonly used operating systems
> of say 2009.
>
> That would be
> WindowsXP -- (released in November 2007) Visual Studio 2008 Express ,
> Mac 10.5 (October 26, 2007)-- gcc4
> RedHat Linux 5 (5.1, also known as Update 1, 2007-11-07)--gcc4
>
> ==============================
> So in summary:
> ** ITKv4 won't be "in the wild" until about a year from now.
> ** Now is our only opportunity to simplify the maintenance burden for the
> next 10 years (i.e. old compilers not being supported).
> ** The diversity of compilers to be supported in ITKv4 will be monotonically
> increasing over the next 10 years.
>
> Regards,
> Hans
> --
> Hans J. Johnson, Ph.D.
> Hans-johnson at uiowa.edu
>
> 278 GH
> The University of Iowa
> Iowa City, IA 52241
> (319) 353 8587
>
>
>> From: Bill Lorensen <bill.lorensen at gmail.com>
>> Date: Wed, 8 Dec 2010 10:08:54 -0500
>> To: Hans Johnson <hans-johnson at uiowa.edu>
>> Cc: Brad King <brad.king at kitware.com>, ITK <insight-developers at itk.org>
>> Subject: Re: [Insight-developers] vxl update
>>
>> I don't think we should drop gcc 3.x. For example, my mingw gcc
>> compiler is 3.4.5 and builds ITK just fine. It is a recent download of
>> mingw.
>>
>> I'm sure there are a lot of folks out there still using gcc 3.x
>>
>>
>>
>> On Wed, Dec 8, 2010 at 9:49 AM, Hans Johnson <hans-johnson at uiowa.edu> wrote:
>>> Food for thought:
>>>
>>> If we just stick to gcc 4.0 or greater, then we reduce the spread of
>>> supported features sets in compilers.
>>>
>>> On mac from two OS revisions ago (i.e. 10.4 and latest is 10.6) gcc4 is
>>> available by default.
>>>
>>> On Linux RedHad EL4 a two OS revisions ago is also a default compiler on
>>> that platform.
>>>
>>> Hans
>>>
>>> --
>>> Hans J. Johnson, Ph.D.
>>> Hans-johnson at uiowa.edu
>>>
>>> 278 GH
>>> The University of Iowa
>>> Iowa City, IA 52241
>>> (319) 353 8587
>>>
>>>
>>>> From: Brad King <brad.king at kitware.com>
>>>> Date: Wed, 08 Dec 2010 09:27:01 -0500
>>>> To: ITK <insight-developers at itk.org>
>>>> Subject: Re: [Insight-developers] vxl update
>>>>
>>>> On 12/07/2010 06:19 PM, Sean McBride wrote:
>>>>> On Tue, 7 Dec 2010 17:54:40 -0500, Bill Lorensen said:
>>>>>> There are a few issues. Several platforms have compiler errors:
>>>>
>>>> Thanks for the summary.
>>>>
>>>>>> http://www.cdash.org/CDash/viewBuildError.php?buildid=795777
>>>>> Personally, I'd ditch gcc 3.3.  If it's running OS 10.4, gcc 4.0 is also
>>>>> available there.
>>>>
>>>> I agree.  Any objections to dropping gcc 3.3 and this midworld dashboard?
>>>>
>>>>>> http://www.cdash.org/CDash/viewBuildError.php?buildid=795403
>>>>> I could fix this the same way it was fixed for VTK/ITK years ago: an #if
>>>>> APPLE that ignores the try-compile results.
>>>>
>>>> http://itk.org/gitweb?p=ITK.git;a=commitdiff;h=2d832c34
>>>>
>>>>>> http://www.cdash.org/CDash/viewBuildError.php?buildid=795260
>>>>>> http://www.cdash.org/CDash/viewBuildError.php?buildid=795348
>>>>>
>>>>> These are hitting an #error...
>>>>
>>>> http://itk.org/gitweb?p=ITK.git;a=commitdiff;h=388ab9f1
>>>> http://itk.org/gitweb?p=ITK.git;a=commitdiff;h=d09fc7b5
>>>>
>>>>> http://www.cdash.org/CDash/testSummary.php?project=2&name=test_pow_log&date
>>>>> =2
>>>>> 010-12-07
>>>>
>>>> http://itk.org/gitweb?p=ITK.git;a=commitdiff;h=d280635a
>>>>
>>>> -Brad
>>>> _______________________________________________
>>>> Powered by www.kitware.com
>>>>
>>>> Visit other Kitware open-source projects at
>>>> http://www.kitware.com/opensource/opensource.html
>>>>
>>>> Kitware offers ITK Training Courses, for more information visit:
>>>> http://kitware.com/products/protraining.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
>>>
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://kitware.com/products/protraining.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
>>>
>
>


More information about the Insight-developers mailing list