[Symphony] Symphony in a shared-memory architecture on Windows

Aiko Vogelsang aikovogelsang at gmx.de
Sun Jan 16 07:34:49 EST 2011


Hello,

many thanks for the helpful answers and the good hints!
In my code I use OpenMP to parallelize the outer loop, so you're absolutely right here. This means that there are several MILPs solved at the same time. So I'll have a look on the building of the SYMPHONY environment. I think that the problem is in there.

Because the problems are not related with each other (the factors in the constraints change in every model) I suppose that the parallelization of the outer loop is better here. 

Many thanks again!

Best regards
Aiko


-------- Original-Nachricht --------
> Datum: Sat, 15 Jan 2011 18:55:19 -0500
> Von: Ted Ralphs <ted at Lehigh.EDU>
> An: Aiko Vogelsang <aikovogelsang at gmx.de>
> CC: symphony at list.coin-or.org
> Betreff: Re: [Symphony] Symphony in a shared-memory architecture on Windows

> As I understand what you're saying, you are using OpenMP to
> parallelize that outer loop, so that SYMPHONY itself is being run
> sequentially, but the loop is being run in parallel, which means you
> would have multiple MILPs being solved simultaneously. There are a
> number of reasons why this might not work, but the most obvious is
> that you are using the same SYMPHONY environment for all of your
> calls. In this case, the different parallel calls to SYMPHONY would be
> in conflict, since they would ball be trying to access the same data
> structures. If you create a new SYMPHONY environment for each call,
> what you are doing should work. Alternatively, if you build SYMPHONY
> itself with OpenMP enabled, then SYMPHONY itself will run in parallel.
> This may be a better option if the sequence of MILPs you are solving
> is related, as you can then warm start the computation without setting
> up a new SYMPHONY environment in a new memory space in each iteration
> of the loop. In the latter case, you would not be able to parallelize
> your outer, as I understand you're currently doing.
> 
> Cheers,
> 
> Ted
> 
> On Fri, Jan 14, 2011 at 4:38 AM, Aiko Vogelsang <aikovogelsang at gmx.de>
> wrote:
> > Hello everybody,
> >
> >
> >
> > I have some questions concerning the usage Symphony (5.3.1) in a
> parallel
> > environment in Visual Studio 2008 Pro.
> >
> >
> >
> > In my program there are some calculations done. Within each of these
> loops
> > Symphony is called to solve a MILP. To build up the MILP-model in every
> loop
> > I use the methods of CoinModel.
> >
> > If I run my code in a sequential mode everything works fine.
> >
> > But running the program in a shared-memory environment by integrating
> OpenMP
> > commands around the loop causes failures. Unfortunately I get heap
> > corruption errors in these cases. Concerning this problem I found in the
> > Symphony 5.2.3 manual that the solver runs on Windows systems only in a
> > sequential mode. Is this also effective for the latest versions of
> Symphony?
> >
> > In the same manual there's a hint that it should be easy to run Symphony
> in
> > parallel on Windows systems if PVM will work. I thought that PVM is
> needed
> > for distributed architectures or do I need it for my case?
> >
> >
> >
> > Furthermore, I'm wondering because I only separate the "main" loop into
> > pieces and not the Symphony calculations. According to my understanding
> > they're still done in a sequential mode (one Symphony instance for every
> > processor core) or am I wrong here?
> >
> >
> >
> > The last question would be if anybody has some experience with this
> problem
> > using Visual Studio and if anybody has a tip for me to solve this
> problem?
> > That would be very helpful!
> >
> >
> >
> > Many thanks in advance!
> >
> >
> >
> > Best regards
> >
> > Aiko
> >
> > _______________________________________________
> > Symphony mailing list
> > Symphony at list.coin-or.org
> > http://list.coin-or.org/mailman/listinfo/symphony
> >
> >
> 
> 
> 
> -- 
> Dr. Ted Ralphs
> Associate Professor, Lehigh University
> (610) 628-1280
> ted 'at' lehigh 'dot' edu
> coral.ie.lehigh.edu/~ted




More information about the Symphony mailing list