Running search_for_keff() in parallel

Hello everyone,

I wanted to know how I can run ‘search_for_keff’ in parallel? With both omp and mpi?

I’m running critical searches in a supercomputer so I would also like to go across nodes. Is this possible?

Thank you in advance!

Hi @liese and welcome to the community! Unfortunately it looks like right now it’s not possible to instruct OpenMC to use MPI when using the search_for_keff function in any clean way. I’m going to submit a fix to OpenMC to make it possible to pass arguments to the Model.run function, which will allow you to specify the mpi_args argument and therefore use MPI.

In the meantime, you can try the following “monkey patch” to change the default mpi_args passed to Model.run:

openmc.Model.run.__defaults__ = (
    None, None, False, None, False, True, '.', 'openmc',
    ['mpiexec', '-n', '32'], None
)
openmc.search_for_keff(...)

Of course, you should change the MPI-relevant command as needed for your situation.