Pygmo 2: control of memory allocation

113 views Asked by At

I'm happily running Pygmo2 to solve a 18-parameters problem using self-adapting differential evolution.

Everything runs fine but at an high cost: Pygmo hugely overallocates memory, requesting about 170G while actually using about 10G.
I'm running on a shered cluster with a total of 500G, so I can't run multiple instances at the same time without affecting the server performance for other users. As it takes 2-3 hours to complete one run this is somewhat limiting for exploratory analysis and objective function optimization.

I looked at the documentation, other SO questions, git threads, but I've to say I didn't find much about memory usage. So, my questions are:

  • Is this memory-greedy behaviour normal for problems with multiple parameters? Or is something due to how the objective function is coded? (I'd post the code, but is a 600-line piece of code describing a thermodynamic biochemical equilibrium, if not necessary I would not clog the post)
  • If this overallocation is normal, what function does it have?
  • Is there a way to limit the memory pygmo allocates?
  • Tips/tricks/experiences/suggestions?

Few details about the setting:
pygmo 2.8
18-parameter problem
archipelago with 4 islands
population of 40 parents (interesting statement about lack of performance increase exploding the number of parents regardless of the number of parameters here http://www1.icsi.berkeley.edu/~storn/code.html)

Thanks!

0

There are 0 answers