#530: Change default for --num-threads --------------------------+------------------------------------------------- Reporter: eschnett | Owner: hinder Type: enhancement | Status: assigned Priority: major | Milestone: Component: SimFactory | Version: Resolution: | Keywords: --------------------------+-------------------------------------------------
Comment (by hinder):
* I don't like forcing an entire configuration to either have or not have OpenMP. I might have some OpenMP and some non-OpenMP thorns. I reject this solution.
* I don't like the user to have to change a setting in their configuration - the use might be an undergraduate who doesn't even know what OpenMP is. SimFactory is supposed to hide these details. I reject this solution.
* The optimal number of OpenMP threads is a property of the machine, and is set in the machine database, which is good.
* Whether or not multiple threads should be used is a property of a thorn, and should be set in the configuration.ccl of the thorn. The key could be single-threaded = yes/no, defaulting to no, as Cactus is a modern infrastructure and OpenMP is expected. We can make this change coinciding with an advertisement during a release.
* I propose that SimFactory does not set OMP_NUM_THREADS, but instead sets OPTIMAL_OMP_NUM_THREADS. The flesh then sets OMP_NUM_THREADS to either OPTIMAL_OMP_NUM_THREADS if no thorns are single-threaded, or to 1 if there are single-threaded thorns. Another option would be to just use OMP_NUM_THREADS, but this might cause confusion. The user should still be able to override OPTIMAL_OMP_NUM_THREADS using the '--num-threads' option on the simfactory command line.
Thoughts?