From 589ac491519446191b7d480a476ab831dc09b5f9 Mon Sep 17 00:00:00 2001 From: Mattias Ellert Date: Wed, 30 Mar 2022 15:51:07 +0200 Subject: [PATCH] Limit the number of threads in TMVA CNN/DNN test to save memory Processing /builddir/build/BUILD/root-6.26.00/tutorials/tmva/TMVA_CNN_Classification.C... Running with nthreads = 224 [ ... ] OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. OpenBLAS warning: precompiled NUM_THREADS exceeded, adding auxiliary array for thread metadata. *** Break *** segmentation violation *** Break *** segmentation violation *** Break *** segmentation violation *** Break *** segmentation violation *** Break *** segmentation violation *** Break *** segmentation violation --- tutorials/tmva/TMVA_CNN_Classification.C | 6 ++++-- tutorials/tmva/TMVA_RNN_Classification.C | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/tutorials/tmva/TMVA_CNN_Classification.C b/tutorials/tmva/TMVA_CNN_Classification.C index 3e590c5958..b748fcee6c 100644 --- a/tutorials/tmva/TMVA_CNN_Classification.C +++ b/tutorials/tmva/TMVA_CNN_Classification.C @@ -125,14 +125,16 @@ void TMVA_CNN_Classification(std::vector opt = {1, 1, 1, 1, 1}) bool writeOutputFile = true; - int num_threads = 0; // use default threads + int num_threads = 32; TMVA::Tools::Instance(); // do enable MT running if (num_threads >= 0) { ROOT::EnableImplicitMT(num_threads); - if (num_threads > 0) gSystem->Setenv("OMP_NUM_THREADS", TString::Format("%d",num_threads)); + if (ROOT::GetThreadPoolSize() > 0) + gSystem->Setenv("OMP_NUM_THREADS", + TString::Format("%u", ROOT::GetThreadPoolSize())); } else gSystem->Setenv("OMP_NUM_THREADS", "1"); diff --git a/tutorials/tmva/TMVA_RNN_Classification.C b/tutorials/tmva/TMVA_RNN_Classification.C index 5be80824f9..f902025875 100644 --- a/tutorials/tmva/TMVA_RNN_Classification.C +++ b/tutorials/tmva/TMVA_RNN_Classification.C @@ -190,11 +190,13 @@ void TMVA_RNN_Classification(int use_type = 1) useKeras = false; #endif - int num_threads = 0; // use by default all threads + int num_threads = 32; // do enable MT running if (num_threads >= 0) { ROOT::EnableImplicitMT(num_threads); - if (num_threads > 0) gSystem->Setenv("OMP_NUM_THREADS", TString::Format("%d",num_threads)); + if (ROOT::GetThreadPoolSize() > 0) + gSystem->Setenv("OMP_NUM_THREADS", + TString::Format("%u", ROOT::GetThreadPoolSize())); } else gSystem->Setenv("OMP_NUM_THREADS", "1"); -- 2.35.1