QMCPACK
BlasThreadingEnv.h
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2019 QMCPACK developers.
6 //
7 // File developed by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
8 //
9 // File created by: Ye Luo, yeluo@anl.gov, Argonne National Laboratory
10 //
11 //////////////////////////////////////////////////////////////////////////////////////
12 
13 #ifndef QMCPLUSPLUS_BLAS_THREADING_ENV_H
14 #define QMCPLUSPLUS_BLAS_THREADING_ENV_H
15 
16 namespace qmcplusplus
17 {
18 /** service class for explicitly managing the threading of BLAS/LAPACK calls from OpenMP parallel region
19  *
20  * intended to use only locally around heavy calls.
21  */
23 {
25 
26 public:
27  /// Constructor, obtains the number of threads at the next level
28  BlasThreadingEnv(int num_threads);
30 
31  static bool NestedThreadingSupported();
32 };
33 } // namespace qmcplusplus
34 #endif
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
service class for explicitly managing the threading of BLAS/LAPACK calls from OpenMP parallel region ...
BlasThreadingEnv(int num_threads)
Constructor, obtains the number of threads at the next level.