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. The result of writing to this storage is unspecified. |
| omp_high_bw_mem_space | Represents storage with high bandwidth. |
| omp_low_lat_mem_space | Represents storage with low latency. |
Note – For variables allocated in the omp_const_mem_space memory space OpenMP supports initializing constant memory either by means of the firstprivate clause or through initialization with compile time constants for static and constant variables. Implementation-defined mechanisms to provide the constant value of these variables may also be supported.