I have compiled the OpenMC 0.5.4 using OPENMP=yes in the Makefile (I use gfortran). However when I attempt to run a problem using “-s 4” in command line, the problem runs in only one thread.
In addition, whereas I specify the " cross_sections summary " and then I specify the " <output_path> … </output_path> ", I receive only the “tallies.out”.
Is these common problems? Could you help?
Thanks in advance.
Antonis
PS: in the past I had run problems in more than one threads, but I do not remember if it was the same compilation of OpenMC 0.5.4 or not.
Thats odd.I assume you checked to see how many threads it used by consulting a utility like top or htop, right? If so, did you wait until after neutron tracking began to see how many threads were utilized? OpenMC does not parallelize the reading of ACE files, so you wont see any substantial multi-core usage until the neutron batches begin. Otherwise, I’m not sure what else it could be. I assume you have no problem compiling other programs with OpenMP and the same gfortran compiler?
I’m not sure what’s going on with the problem you’re having with threading. On your screen output, do you see a line that starts with "OpenMP Threads: "? If not, it means OpenMC was not compiled with threading.
As for the issue, just change your input to look like:
true
true
and it should work fine then. Sorry the user’s manual is not clear on that element – I’ll get it updated. Thanks!
Regarding the OpenMP issue, If the above checks dont work, try cleaning your previous builds by running make distclean in the openmc/src/ directory. After this completes, re-compile the code with your desired flags enabled. Its likely that the make system saw that the source files didnt change since you last built (which im supposing was a build without OpenMP enabled) and thus it didn’t actually re-compile anything.
I have also an extra question.
I want to use the converged source of a problem in another one (same number of neutrons per batch). In the second problem I specify
Currently to use the source from one run to start another, it does need to be generated separately. It looks like there is a mistake in the user’s manual regarding how to separate the source (now fixed in our repository so the manual will be correct for the next version). The name of the attribute is ‘separate’, not ‘source_separate’, so your input should be:
<source_point>
true
</source_point>
After doing that, you should be able to use the source file produced to start another run. Let me know if you still run into problems after that.
What you were trying to do would be useful – we (development team) should consider supporting the use the source saved inside a statepoint file as a starting source without doing a restart run.