[Insight-developers] vxl update

Tom Vercauteren tom.vercauteren at m4x.org
Thu Dec 9 08:44:57 EST 2010


On Thu, Dec 9, 2010 at 13:52, Hans Johnson <hans-johnson at uiowa.edu> wrote:
> Bill,
>
> No matter what we do in ITKv4, it does not affect companies, it's customers,
> for any of their existing products.  They can continue using ITKv3 for as
> long as they like.
>
> Given the fact that the ITKv4 has 1 year of funding to develop a
> maintainable infrastructure that needs to last 10 years, I would propose
> that those companies that need/desire to update to ITKv4 will have to share
> the maintenance burden and find a way to update their compilers.
>
> ====
> Plea to commercial entities (or their customers), please contribute to the
> this discussion.  You have very few spokesman, and we need you to speak up
> with concrete examples so that we may make evidence based decisions given
> limited developmental resources.

Wouldn't it be better to set up a survey  for this?

> In particular:
> 1) Do you require ITKv4 for your products? (Why?)

Yes, we'll try to switch to ITKv4 when it gets released to benefit
from improvements and bug fixes.

> 2) What compilers are you required to use? (Why?)

Standard compilers of our target systems
- gcc-4.4 on ubuntu 10.04 LTS
- visual 2008 and 2010 express
- gcc-4.2 on Mac OS 10.5 and 10.6
- Compiler from XCode 4 for future Mac OS versions

> 3) How can we help you contribute to ITK so that your needs are better met?

This one needs some more thought...


Tom

>
> 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 17:40:56 -0500
>> To: Hans Johnson <hans-johnson at uiowa.edu>
>> Cc: Bradley Lowekamp <brad at lowekamp.net>, Brad King <brad.king at kitware.com>,
>> ITK <insight-developers at itk.org>
>> Subject: Re: [Insight-developers] vxl update
>>
>> 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&da
>>>>>>> te
>>>>>>> =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
>>>>>
>>>
>>>
>
> _______________________________________________
> 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