OpenMC on CUDA?

Hi.

I am new to OpenMC.
I am interested to know if anyone has been successfully in converting OpenMC to run on CUDA (Nvidea GPUs)
If so, I would like to explore the options / pros /cons.

Best regards,

Thomas Jam Pedersen
Th Engineering.

Hi Thomas,

Tony Scudiero from NVIDIA did some initial work on a GPU port as part of the DOE FastForward program, but it was never completed. Take a look at his presentation here:
http://on-demand.gputechconf.com/gtc/2014/presentations/S4170-put-neutron-transport-sims-nuclear-reactions.pdf

Monte Carlo on GPUs is an active research area, and I don’t think there’s any consensus on what the “right” path forward is yet, especially for neutron transport. There have been more successes to-date with porting photon transport to GPUs due to the fact that cross sections are much easier to handle. Berkeley is active in this area as is RPI. I’m sure there are others as well.

Best regards,

Paul

Thanks for your quick reply.
I have contacted Tony directly.

Do you know the names of guys from Berkeley are working on this? I am going there in 2 months and we have a guy on our team who is a post doc at Berkeley too.

  • Also if you know about any conferences specifically on this topic, then please let me know.

Best regards,
Thomas Jam

Hi Thomas,

Ryan Bergmann from UC Berkeley finished a PhD thesis on GPU Monte Carlo last year.

http://ucb-rdn.github.io/projects/warp/warp.html

Best,
Jilang

Hello, I am also new to openMC and was wondering what, if any recent updates there are to GPU oriented forks of OpenMC. I can’t seem to find anything online, and would ideally like to be able to run OpenMC on a cluster primarily composed of GPUs.

Regards,
Navid Mokhlesi

Hi Navid,

We don’t currently have any ongoing work to port OpenMC to GPU architectures. Some of our team at Argonne is currently partnering with Oak Ridge National Laboratory on a research project, and they are pursuing a GPU port of their Monte Carlo code (Shift) as part of that. At the conclusion of the project, we make make a decision to pursue a GPU port as well depending on the results of the project. Let me know if you have any further questions.

Best regards,
Paul

Hello again, I recently stumbled upon an OpenCL and also an AMP implementation of XSBench, each by AMD’s open source efforts found here: https://github.com/AMDComputeLibraries/ComputeApps/tree/master/xsbench-cl
How viable would it be to integrate their work with what is already done in OpenMC?

Regards,
Navid Mokhlesi

OpenMC is a lot more complex than XSBench, so unfortunately ports of XSBench, while informative from a performance testing standpoint, don’t do much to help us in the way of actually porting OpenMC itself. XSBench is about 1600 lines of code whereas OpenMC is about 70000.

Best,
Paul