How to run Genopt on multiple cores in a cluster?
How to run Genopt on multiple cores in a cluster with torque scheduler (i.e. using the qsub command)
First time here? Check out the Help page!
How to run Genopt on multiple cores in a cluster with torque scheduler (i.e. using the qsub command)
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).
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.
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;
}
```
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;
}
@gmolina please don't hijack other people's questions, instead feel free to start your own. Thanks!
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2014-11-19 10:55:31 -0600
Seen: 359 times
Last updated: Apr 17 '15
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.
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.