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: