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.
| Table 2.8: | Predefined Memory Spaces |
| 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: