skriegman/reconfigurable_organisms

Recommended compute power

Immortalin opened this issue · 1 comments

This project consumes an enormous amount of processing power and easily maxed out the i7 on my machine, the press release also mentioned that it was ran on the UVM's supercomputers. What is the recommended amount for best results? e.g. hardware series, cluster size, flops etc.?

Hi Immortalin,
Thanks for testing out the code and confirming you were able to install it and start running an experiment. When you ran the program, it started by launching 50 separate instance of the simulator to evaluate the 50 randomly-assembled designs, filling up all the threads on your processor. If your CPU only has 8 threads, I suggest decreasing the population size (POP_SIZE).

In the supplemental methods of the paper I put a very small section noting the runtime of our experiments and the hardware we used. I've reproduced it here for your convenience.

5.3. Runtime. Each evolutionary trial optimized a population of 51 designs on a dual-processor, 12-core Intel E5-2650 v4 (i.e., 24 threads). No trial took less than 18 wall-clock hours (432 CPU hours) or more than 22 wall-clock hours (528 CPU hours) to evaluate 1000 generations of evolutionary improvement. The runtime varies because the algorithm is stochastic: some designs have more voxels than others and thus require more CPU-time. Because evaluating designs in simulation is the computational bottleneck, the algorithm is readily parallelizable: doubling CPU threads halved the wall-clock time (10 hours when tested using two Intel E5-2650 v4s).