On 24 Aug 2011, at 16:13, Erik Schnetter wrote:
On Wed, Aug 24, 2011 at 9:50 AM, Frank Loeffler knarf@cct.lsu.edu wrote:
On Wed, Aug 24, 2011 at 09:32:56AM -0400, Erik Schnetter wrote:
Should we change SimFactory to do this automatically (as default) when OpenMP is enabled?
I have to admit that I usually do use the --num-threads option, but I know that simfactory already has the information how many threads it should use if openmp is enabled. Isn't that the default? I was under the impression that this was enabled some time ago? A quick look at the code didn't reveal a default of 1 to me.
Simfactory uses 1 thread by default, ignoring the MDB entry. This is for historic reasons only. I believe it is time to change this.
This would be good for people whose codes support OpenMP fully, but some people are using old codes which do not. If the default is changed (and I think it should be), then there should be an easy way for those people to say "please never use OpenMP". They could put this in their defs.local.ini, and SimFactory would then force OPENMP = no and override the optionlists. The user should not have to modify the optionlists for each machine.
Because users might not be aware of this requirement, we could have an optional entry in the configuration.ccl of a thorn saying "doesn't work with OpenMP" (as Frank said, this is better than the opposite, as fewer thorns need to be modified), so that Cactus can abort if such a thorn is activated and OMP_NUM_THREADS is anything other than 1.