[ITK Community] [Insight-developers] Visual Studio 2012+ Parallelism

Bradley Lowekamp blowekamp at mail.nih.gov
Mon Feb 10 16:08:01 EST 2014


Brian,

If you do a default configure you get the following in CMAKE_CXX_FLAGS: "/DWIN32 /D_WINDOWS /W3 /GR /EHsc" for ITK. Where as if you specify a default in the cmake cache via ctest script these flags don't get auto-magically added, only your default.

This is likely classified as "cmake magic" not a bug. I am trying adding "-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}\ /MP" to my cache variable tonight. However, I am not sure if CMAKE_CXX_FLAGS with be set with out a call to some enable cxx language thingy. Shall see tonight.

I have been experimenting with VS11 IDE GUI, and on other systems today and monitoring CPUs utilization. I am not getting consistent behavior when compared to lhcp-vm-win701, something may be wacky with the installation on that system. Please note I am only trying to scale to 4 CPUs, I could see how the MP option would be needed to scale to many more CPUs. By my intuition is that target level parallelism should be ok for this system.

Brad

On Feb 10, 2014, at 3:58 PM, Brian Helba <brian.helba at kitware.com> wrote:

> Please note,
> 
> There's another bug related to Visual Studio (multiple versions) and the "/MP" flag.
> 
> See that: between yesterday [1] and today [2], Brad added "MAKE_CXX_FLAGS:STRING=/MP". to the "Win32-VS11-Release-Shared"@"lhcp-vm-win701.nlm" client build. The result is 199 new warnings [3] of:
> "warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc".
> 
> This exact same bug has also occurred on "Win64-VS9-Release-Shared"@"dash5win7x64.kitware" when I enabled the same flag for one night [4] (note that the Static build had configure errors for another reason, and never attempted to build with "/MP"). I immediately disabled the flag for the next night, intending to troubleshoot it at some other time. The issue on "lhcp-vm-win701.nlm" seems to confirm that this is a real bug.
> 
> [1] http://open.cdash.org/viewNotes.php?buildid=3213173
> [2] http://open.cdash.org/viewNotes.php?buildid=3213955
> [3] http://open.cdash.org/viewBuildError.php?type=1&buildid=3213955
> [4] http://open.cdash.org/buildSummary.php?buildid=3205792
> 
> Best,
> Brian
> 
> 
> 
> 
> On Mon, Feb 10, 2014 at 11:29 AM, Simon Alexander <skalexander at gmail.com> wrote:
> I have been using /MP  for a while now, and recall needing it on VS2010 as well (but that was a while ago so I may be misremembering).
> 
> To avoid the problem that Matt mentions, you can give it an argument for the maximum number of processes (by default, it will pick the number of effective cores it can find).  
> 
> 
> On Mon, Feb 10, 2014 at 11:24 AM, Bradley Lowekamp <blowekamp at mail.nih.gov> wrote:
> Matt,
> 
> My point was that with VS10 and prior we were getting good target level parallelism, while it appears that with VS11 we are no long getting good target level parallelism and need this additional compiler level parallelism that "/MP" provides.
> 
> I don't understand is something change to cause this. Why?
> 
> Have other experience the same things?
> 
> Brad
> 
> On Feb 10, 2014, at 10:53 AM, Matt McCormick <matt.mccormick at kitware.com> wrote:
> 
> > Hi Brad,
> >
> > My understanding is that this flag can be very helpful for speeding
> > things up when the system can handle it, but it is not on by default,
> > because, from the article "The downside is that the IDE will still
> > perform target level parallelism along with object level parallelism
> > which can lead to excessive parallelism grinding your machine and GUI
> > to a halt."
> >
> > Thanks,
> > Matt
> >
> > On Mon, Feb 10, 2014 at 9:30 AM, Bradley Lowekamp
> > <blowekamp at mail.nih.gov> wrote:
> >> Hello,
> >>
> >> I just added the "/MP" flag to my "Win32-VS11-Release-Shared"[1] build, based on information from reading Kitware blog entry entitled "CMake: building with all your cores"[3]. Adding this flag changed the build time from 5h47min to 1hr10min . I don't recall having to do this before with VS10, VS9, has something changed with these more recent Visual Studios?
> >>
> >> The system is running on a VM, allocated 4 cores and 16GB of memory. Many of the VS11/VS12 build have been taking over 2hrs and a couple much longer.
> >>
> >> This chart is an indication of the excessive build time on this system:
> >> http://open.cdash.org/viewSite.php?siteid=8833&project=2&currenttime=1391907600
> >>
> >> Incidentally the recent VS11 builds I have setup for SimpleITK don't seem to suffer from the same issue.
> >>
> >>
> >>
> >> [1] http://open.cdash.org/buildSummary.php?buildid=3213955
> >> [2] http://open.cdash.org/viewNotes.php?buildid=3213955
> >> [3] http://www.kitware.com/blog/home/post/434
> >> _______________________________________________
> >> 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.php
> >>
> >> 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.php
> 
> 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.php
> 
> 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
> 
> 
> 
> 
> -- 
> Brian Helba
> Medical Imaging
> Kitware, Inc.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140210/2efb287e/attachment-0002.html>
-------------- next part --------------
_______________________________________________
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.php

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 Community mailing list