README 1.38 KB
Newer Older
wadaniel's avatar
wadaniel committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
HOW TO RUN
----------
To compile and run the code on Euler remove all previously loaded nodules (purge) and load the following modules:

module purge
module load new
module load gcc/6.3.0 
module load python/3.7.1

or run `source modules.src`
Make sure that you loaded this files during compilation of Korali.


Request interactive shell
-------------------------

bsub -n 4 -R -W  04:00 -Is bash

and compile with `make`, respectively `make ssa` or `make cmaes` for partial builds.
You may also run with more or less nodes.

Run
-------------------------

export OMP_NUM_THREADS=4 
./ssa
./cmaes

You may want to set the OMP_NUM_THREADS variables to different values.

wadaniel's avatar
wadaniel committed
31 32 33 34 35
If interested feel free to use input arguments and study the behaviour of the system for different inputs, e.g.
./ssa -omega 1 -samples 5000
Lower quantities usually increase the stochastic effects and require more simulations/samples.


wadaniel's avatar
wadaniel committed
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
WHAT TO MODIFY
--------------
You only need to change the indicated sections in 
- SSA_CPU.cpp
- includes/objective.hpp

and 
- main_cmaes.cpp
if you wish to modify the population size of CMA-ES.


CODE OUTPUT 
-----------
When the ./ssa code runs, it prints

the averaged time for 1 SSA simulation, the FLOPs, Byte Transfers, and the performance.
Note that the latter values depend on your implementation of SSA::getTransfers() and SSA::getFlops() and are wrong estimates if not (correctly) implemented.