Ensure steering of Gauss(-on-Gaussino) multi threaded options in production
In Gaussino we only have a Multi-threaded build. The number of thread has to be fixed by options.
We can set the default to 1 to make sure it can run on all sites, but since this is controlled via Gauss itself we asked @fstagni how Dirac would control this for HP sites (see discussion in lhcb/Geant4#2 (comment 5304799)).
To summarise
It is necessary that DIRAC is capable of setting this option. This should be done via lb-prod-run, which is the current interface between LHCbDIRAC and applications (internally "still" falling back to using ProdConf in production) which already accepts a
number_of_processorsoption ({"application": {"number_of_processors": 1}}).
In Gaussino there are 3 different options used to control the number of threads:
nthreads = 8
Gauss().EnableHive = True
Gauss().ThreadPoolSize = nthreads
Gauss().EventSlots = nthreads
from Configurables import GiGaMT
giga = GiGaMT()
giga.NumberOfWorkerThreads = nthreads
We should make sure that ProdConf - until we move to the new gaudiconf2 - is propagating the information to Gauss and sets the correct properties.
cc: @mimazure, @fstagni, @clemenci FYI: @admorris, @qiuchan, @adavis, @kreps