Question-and-Answer Resource for the Building Energy Modeling Community
Get started with the Help page
Ask Your Question
2

How to run Genopt on multiple cores in a cluster?

asked 2014-11-19 10:55:31 -0500

Mansi's avatar

updated 2015-07-26 19:12:29 -0500

How to run Genopt on multiple cores in a cluster with torque scheduler (i.e. using the qsub command)

edit retag flag offensive close merge delete

Comments

I have 2 nodes and each one has 12 cores. I set unitsOfExecution=24. GenOpt starts running and writes: Assigning 24 threads for simulations.

However, when I check the nodes, it seems just the first node is used. How can I fix that? Thanks in advance.

Mansi's avatar Mansi  ( 2015-04-21 05:12:14 -0500 )edit

If UnitsOfExecution =24, then GenOpt is allowed to use up to 24 parallel simulations. How many are actually used at any step of the optimization depends on the optimization algorithm. Not every optimization step or optimization algorithm is suited for parallelization.

Michael Wetter's avatar Michael Wetter  ( 2018-03-26 13:10:35 -0500 )edit

2 Answers

Sort by ยป oldest newest most voted
3

answered 2015-04-17 09:28:01 -0500

The GPSCoordinateSearch algorithm uses mostly sequential programming except for checking optimality as the next move depends on the current function value. The PSO algorithms are better suited for parallel computing as multiple points can be evaluated in parallel in these algorithms.

Using UnitsOfExecution is the right setting (if not specific, it is set to the number of processors).

edit flag offensive delete link more

Comments

Is there a way to specify a host file for the PSO Algorithm ? Depending on the cluster configuration, the user moght have to use multiples nodes for the core count needed.

GilbertLM's avatar GilbertLM  ( 2018-03-23 09:15:27 -0500 )edit
1

answered 2014-11-22 18:21:02 -0500

scottb's avatar

Are you looking to run multiple GenOpt instances or submitting your energy model evaluations using qsub?

I assume it's the later. GenOpt is multi-threaded so you may not need a batch processor. You can set a parameter in the config file to control the number of parallel simulations used (defaults to the number of cores available).

If you have a specialized need for batch simulations, you might have to write your own implementation in Java and integrate into GenOpt.

edit flag offensive delete link more

Comments

Hello,

I am trying to use genOpt on an Intel i7 with Ubuntu 14.04. The GUI actually says that all 8 threads are assigned to genOpt, but my resources show that only one is in use.

What am I doing wrong? I also tried to run it without GUI, but nothing changed.

Algorithm{ Main = GPSCoordinateSearch; MultiStart = Uniform; Seed = 12; NumberOfInitialPoint=8; MeshSizeDivider = 2; InitialMeshSizeExponent = 0; MeshSizeExponentIncrement = 1; NumberOfStepReduction = 4; } ```

gmolina's avatar gmolina  ( 2015-04-17 07:23:40 -0500 )edit

Mods- Can we move this to a separate question?

Check out the option unitsOfExecution defined in OptimizationSettings{}

It defaults to the number of processors on your machine. You can set it to the number of threads

Example:

OptimizationSettings{

MaxIte = 2000;

MaxEqualResults = 100;

WriteStepNumber = false;

UnitsOfExecution = 8;

}

scottb's avatar scottb  ( 2015-04-17 08:52:51 -0500 )edit

@gmolina please don't hijack other people's questions, instead feel free to start your own. Thanks!

MatthewSteen's avatar MatthewSteen  ( 2015-04-17 09:49:01 -0500 )edit

@scottb I have 2 nodes and each one has 12 cores. I set unitsOfExecution=24. GenOpt starts running and writes: Assigning 24 threads for simulations.

However, when I check the nodes, it seems just the first node is used. How can I fix that? Thanks in advance.

Mansi's avatar Mansi  ( 2015-04-21 05:12:02 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Careers

Question Tools

1 follower

Stats

Asked: 2014-11-19 10:55:31 -0500

Seen: 328 times

Last updated: Apr 17 '15