Page 1 of 1

CPU affinity / speed improvement

Posted: Tue 17 Mar 2020, 12:50
by GeraldCarda
I was able to significantly improve the simulation speed on the machine I am using. It is a two socket NUMA machine with 2x6 physical core (2x12 hyperthreading).

Here are the results for an arbitrary benchmark run:

- Original v0.0.35-62-gbb235b2 -

Time for 8938 iterations with 1610121.00 cells : 269.07 sec
Speed: 53.49 MCells/s

- modified code -

Time for 9047 iterations with 1610121.00 cells : 156.78 sec
Speed: 92.91 MCells/s

This was done by adding a CPU affinity option to the existing code. All modification are local to 'engine_multithread.cpp'. The code is pretty simple for now (thread<->CPU affinity taken from env, not much error handling). The current version is only tested on Linux (due to some low level pthread dependancies).

How to proceed?

Regards,
Gerald

Re: CPU affinity / speed improvement

Posted: Tue 24 Mar 2020, 09:25
by thorsten
Post your changes on github for me and others to review.