From a5e6df051e7ffec8fb391a932277233b3a2deb68 Mon Sep 17 00:00:00 2001
From: Martyn Gigg <martyn.gigg@gmail.com>
Date: Thu, 16 Aug 2018 16:33:23 +0100
Subject: [PATCH] Use a fixed number of omp threads for unit tests on builders

The default in conjunction with ctest -j produces a large number
of threads that compete with each other and give worse performance.
---
 buildconfig/Jenkins/buildscript     | 3 ++-
 buildconfig/Jenkins/buildscript.bat | 4 +++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/buildconfig/Jenkins/buildscript b/buildconfig/Jenkins/buildscript
index 2a79c6fdf5e..a37bd206809 100755
--- a/buildconfig/Jenkins/buildscript
+++ b/buildconfig/Jenkins/buildscript
@@ -342,7 +342,8 @@ fi
 userconfig_dir=$HOME/.mantid
 rm -fr $userconfig_dir
 mkdir -p $userconfig_dir
-touch $userconfig_dir/Mantid.user.properties
+# use a fixed number of openmp threads to avoid overloading the system
+echo MultiThreaded.MaxCores=2 > $userconfig_dir/Mantid.user.properties
 
 if [[ ${DO_UNITTESTS} == true ]]; then
   $CTEST_EXE -j${BUILD_THREADS:?} --schedule-random --output-on-failure
diff --git a/buildconfig/Jenkins/buildscript.bat b/buildconfig/Jenkins/buildscript.bat
index 8a7d9211c77..86378e77686 100755
--- a/buildconfig/Jenkins/buildscript.bat
+++ b/buildconfig/Jenkins/buildscript.bat
@@ -170,7 +170,9 @@ del %USERPROPS%
 set CONFIGDIR=%APPDATA%\mantidproject\mantid
 rmdir /S /Q %CONFIGDIR%
 mkdir %CONFIGDIR%
-call cmake.exe -E touch %USERPROPS%
+:: use a fixed number of openmp threads to avoid overloading the system
+echo MultiThreaded.MaxCores=2 > %USERPROPS%
+
 call ctest.exe -C %BUILD_CONFIG% -j%BUILD_THREADS% --schedule-random --output-on-failure
 if ERRORLEVEL 1 exit /B %ERRORLEVEL%
 
-- 
GitLab