Processor speed and AMPL processing

60 views
Skip to first unread message

Ellen

unread,
Dec 2, 2016, 2:02:19 PM12/2/16
to AMPL Modeling Language
Dear Bob and other AMPL gurus,

I have just gotten a new second computer with much more memory and many more cores/processors but the processor speed has decreased from 3.5 GHz to 2.2 GHz.

 

One of my applications that I’ve tried on the new computer …

1)      reads data into memory

2)      randomly generates a number

3)      assigns a certain subset of the data, according to the random number, to a parameter

4)      repeats 2 and 3 for many minutes


(Later, on the model is handed over to CPLEX for solving but optimizing is not my issue here.)


I am experiencing a slow down approximately equal to 3.5 / 2.2. Does the AMPL processing I describe necessarily use one processor, or can it be done in parallel with particular settings?


Hope you can help. Many thanks,

Ellen

Robert Fourer

unread,
Dec 4, 2016, 3:51:14 PM12/4/16
to am...@googlegroups.com
Within a single AMPL process, all of the AMPL computations occur on one core; they cannot be parallelized. So you will see the advantages of many cores and processors only after the AMPL process hands off a problem to the solver.

Bob Fourer
am...@googlegroups.com

=======

Ellen

unread,
Dec 4, 2016, 7:20:12 PM12/4/16
to AMPL Modeling Language
Thanks, Bob.
Ellen

stochasti...@yahoo.com

unread,
Dec 5, 2016, 11:37:06 AM12/5/16
to AMPL Modeling Language, 4...@ampl.com
If enough development effort were applied (I'm not suggesting such development is an attractive business value proposition for a commercial vendor), could advances and techniques in parallel computer algebra calculations be applied/adapted to optimization modeling system processing of models to prepare input for solvers?

Robert Fourer

unread,
Dec 6, 2016, 11:52:35 AM12/6/16
to am...@googlegroups.com
I don't know whether techniques for parallel computer algebra calculations can be made relevant to processing in optimization modeling systems. But I can see that there could be some opportunities for parallelization. For example if you need to generate a million constraints from "subject to Balance {(i,j) in LINKS, p in PRODUCTS, t in 1..T}: ..." then you might divide the work between cores. Also where there are many variables to be substituted out of a problem before it is generated for a solver, the substitution can be very time-consuming and it could be worthwhile to parallelize it -- though not necessarily easy, since one substitution can affect the next.

Bob Fourer
am...@googlegroups.com

=======
Reply all
Reply to author
Forward
0 new messages