OpenMP memory spaces represent storage resources where variables can be stored and retrieved. Table 2.8 shows the list of predefined memory spaces. The selection of a given memory space expresses an intent to use storage with certain traits for the allocations. The actual storage resources that each memory space represents are implementation defined.
|Memory space name||Storage selection intent|
|omp_default_mem_space||Represents the system default storage|
|omp_large_cap_mem_space||Represents storage with large capacity|
|omp_const_mem_space||Represents storage optimized for variables with constant values|
|omp_high_bw_mem_space||Represents storage with high bandwidth|
|omp_low_lat_mem_space||Represents storage with low latency|
Variables allocated in the omp_const_mem_space memory space may be initialized through the firstprivate clause or with compile time constants for static and constant variables. Implementation-defined mechanisms to provide the constant value of these variables may also be supported.
Restrictions Restrictions to OpenMP memory spaces are as follows: