Simulation Machine for G4

Hi All,

I have a fairly large budget to buy a new machine for running Geant4 simulations.

Does anyone have any recommendations as to what to buy according to their experience?


Hi Sarah,

I currently run on two machines which utilize AMD threadripper processors. The models I have access to each have 32 cores and 64 threads allowing for quite a lot of simultaneous simulations. Whether the runs being single thread sims or utilising the inbuilt multithreading in Geant4. These processors are quite expensive but if you have a large budget I would recommend them. One thing to note is that even though they can run 64 simultaneous threaded operations, I never run to this level and typically run on 50 leaving some spare for OS operations etc. so the computers do not crash. If you have any questions about the rest of the PC setup let me know.

I hope this information helps, and wonder what others use or recommend in the Geant4 community.

All the best

I have a relatively low end CPU (i7 with 6 physical cores, hyper threaded to 12) but from tests I’ve done, geant4 does not show any real speed up once you set the G4MTRunManager::nthreads variable larger than the number of physical cores, so the more physical cores the better.

Below are timing results from a simple optical simulation where I vary thread count and number of events. This was done with v10.5.1, I’ve not rerun with any of the 10.6 releases.

I don’t have any data for RAM usage, but from checking values at random point during simulations, geant4 doesn’t seem to be too heavy with the simulations I do. I overspeced my machine and got 32GB, I would have been better off with 16GB and used the extra money on a more powerful CPU.

1 Like

Some good answers already, and just to add that you should profile the simulations you intend to run before committing to a spec. That will give the best picture of CPU/Memory/etc loads and then how to optimise the specification for your case.

Hi thehubbard,

Many thanks for your reply and advice! In the end this is basically what I decided to go for, but the 64core/128thread server version (AMD EPYC). I am hoping this should work very nicely!

1 Like

Thanks for the info here, its very useful to know that the hyper-threading doesn’t make so much difference.

@bmorgan Also a good suggestion to profile in advance. I think the setup chosen should cover all eventualities. I can report back when it arrives and is set up :slight_smile: