Multi-Core Performance Studies of a Monte Carlo Neutron Transport Code
|Title||Multi-Core Performance Studies of a Monte Carlo Neutron Transport Code|
|Publication Type||Journal Article|
|Year of Publication||2012|
|Authors||Siegel, AR, Smith, K, Romano, PK, Forget, B, Felker, KG|
Performance results are presented for a multi-threaded version of the OpenMC Monte Carlo neutronics code using OpenMP in the context of nuclear reactor criticality calculations. Our main interest is production computing, and thus we limit our approach to threading strategies that both require reasonable levels of development effort and preserve the code features necessary for robust application to real-world reactor problems. Several approaches are developed and the results compared on several multi-core platforms using a popular reactor physics benchmark. Our main focus is distilling a broad range of performance studies into a simple, consistent picture of the performance characteristics of reactor Monte Carlo algorithms on current multi-core architectures. Additionally, we speculate on the source of the observed scaling bottlenecks in terms of the exhaustion of shared hardware resources, and we suggest programming approaches and strategies to help overcome bottlenecks.