mioomp.h Source File

CPP API: mioomp.h Source File
mioomp.h
Go to the documentation of this file.
1 /*
2 * Copyright (C) 2020-2026 MEmilio
3 *
4 * Authors: Daniel Abele, Martin J. Kuehn
5 *
6 * Contact: Martin J. Kuehn <Martin.Kuehn@DLR.de>
7 *
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
11 *
12 * http://www.apache.org/licenses/LICENSE-2.0
13 *
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 */
20 #ifndef MIO_UTIL_OPENMP_H
21 #define MIO_UTIL_OPENMP_H
22 
23 #include "memilio/config.h" // IWYU pragma: keep
24 
25 #ifdef MEMILIO_ENABLE_OPENMP
26 #include "omp.h"
27 
33 #define PRAGMA_OMP(x) _Pragma(QUOTE(omp x))
34 
35 #else
36 
43 #define PRAGMA_OMP(x)
44 
45 #endif
46 
47 namespace mio
48 {
49 namespace omp
50 {
51 
53 int get_thread_id();
54 
56 int get_num_threads();
57 
59 int get_max_threads();
60 
61 } // namespace omp
62 } // namespace mio
63 
64 #endif
int get_num_threads()
Get the current number of OpenMP threads. When OpenMP is disabled, this is always 1.
Definition: mioomp.cpp:36
int get_max_threads()
Get an upper bound to the number of OpenMP threads. When OpenMP is disabled, this is always 1.
Definition: mioomp.cpp:45
int get_thread_id()
Get an id for the current OpenMP thread. When OpenMP is disabled, this is always 0.
Definition: mioomp.cpp:27
A collection of classes to simplify handling of matrix shapes in meta programming.
Definition: models/abm/analyze_result.h:30