1/*
2 * Copyright (c) 2014 ETH Zurich.
3 * All rights reserved.
4 *
5 * This file is distributed under the terms in the attached LICENSE file.
6 * If you do not find this file, copies can be found by writing to:
7 * ETH Zurich D-INFK, Universitaetsstrasse 6, CH-8092 Zurich. Attn: Systems Group.
8 */
9
10#ifndef _LIBBOMP_ENVIRONEMNT_H
11#define _LIBBOMP_ENVIRONEMNT_H
12
13/*
14 * ---------------------------------------------------------------------------
15 * 4.0 Environment Variables
16 * ---------------------------------------------------------------------------
17 *
18 * Environment variable names are upper case, and the values assigned to them
19 * are case insensitive and may have leading and trailing white space.
20 *
21 * These are the values which are set as the default when initializing the
22 * library
23 */
24
25/**
26 * Sets the cancel-var ICV. policy may be true (non-zero) or false (zero). If true,
27 * the effects of the cancel construct and of cancellation points are enabled and
28 * cancellation is activated
29 */
30#define OMP_CANCELLATION 0
31
32/**
33 * Sets the default-device-var ICV that controls the default device number to
34 * use in device constructs.
35 */
36#define OMP_DEFAULT_DEVICE 0
37
38/**
39 * If var is TRUE, instructs the runtime to display the OpenMP version number
40 * and the value of the ICVs associated with the environment variables as name=value
41 * pairs. If var is VERBOSE, the runtime may also display vendor-specific variables.
42 * If var is FALSE, no information is displayed.
43 */
44#define OMP_DISPLAY_ENV 0
45
46/**
47 * Sets the dyn-var ICV. If true, the implementation may dynamically adjust the
48 * number of threads to use for executing parallel regions.
49 */
50#define OMP_DYNAMIC 0
51
52/**
53 * Sets the max-active-levels-var ICV that controls the maximum number of nested
54 * active parallel regions.
55 */
56#define OMP_MAX_ACTIVE_LEVELS 0
57
58/**
59 * Sets the nest-var ICV to enable or to disable nested parallelism. Valid values
60 * for nested are true or false.
61 */
62#define OMP_NESTED 0
63
64/**
65 * Sets the nthreads-var ICV for the number of threads to use for parallel regions.
66 */
67#define OMP_NUM_THREADS 40
68
69/**
70 * Sets the place-partition-var ICV that defines the OpenMP places available to
71 * the execution environment. places is an abstract name (threads, cores, sockets,
72 * or implementation-defined), or a list of non-negative numbers.
73 */
74#define OMP_PLACES 0
75
76/**
77 * Sets the value of the global bind-var ICV, which sets the thread affinity
78 * policy to be used for parallel regions at the corresponding nested level.
79 * policy can be the values true, false, or a comma-separated list of master,
80 * close, or spread in quotes.
81 */
82#define OMP_PROC_BIND 0
83
84/**
85 * Sets the run-sched-var ICV for the runtime schedule type and chunk size.
86 * Valid OpenMP schedule types are static, dynamic, guided, or auto.
87 */
88#define OMP_SCHEDULE OMP_SCHED_STATIC
89
90/**
91 * Sets the stacksize-var ICV that specifies the size of the stack for threads
92 * created by the OpenMP implementation. size is a positive integer that specifies
93 * stack size. If unit is not specified, size is measured in kilobytes (K).
94 */
95#define OMP_STACKSIZE (64*1024)
96
97/**
98 * Sets the thread-limit-var ICV that controls the number of threads participating
99 * in the OpenMP program.
100 */
101#define OMP_THREAD_LIMIT 40
102
103/**
104 * Sets the wait-policy-var ICV that provides a hint to an OpenMP implementation
105 * about the desired behavior of waiting threads. Valid values for policy are
106 * ACTIVE (waiting threads consume processor cycles while waiting) and PASSIVE.
107 */
108#define OMP_WAIT_POLICY 0
109
110
111#endif	/* _LIBBOMP_ENVIRONEMNT_H */
112