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