LLVM API Documentation
Enumerations | |
enum | AddressSpaces { PRIVATE_ADDRESS = 0, GLOBAL_ADDRESS = 1, CONSTANT_ADDRESS = 2, LOCAL_ADDRESS = 3, FLAT_ADDRESS = 4, REGION_ADDRESS = 5, PARAM_D_ADDRESS = 6, PARAM_I_ADDRESS = 7, CONSTANT_BUFFER_0 = 8, CONSTANT_BUFFER_1 = 9, CONSTANT_BUFFER_2 = 10, CONSTANT_BUFFER_3 = 11, CONSTANT_BUFFER_4 = 12, CONSTANT_BUFFER_5 = 13, CONSTANT_BUFFER_6 = 14, CONSTANT_BUFFER_7 = 15, CONSTANT_BUFFER_8 = 16, CONSTANT_BUFFER_9 = 17, CONSTANT_BUFFER_10 = 18, CONSTANT_BUFFER_11 = 19, CONSTANT_BUFFER_12 = 20, CONSTANT_BUFFER_13 = 21, CONSTANT_BUFFER_14 = 22, CONSTANT_BUFFER_15 = 23, ADDRESS_NONE = 24, LAST_ADDRESS = ADDRESS_NONE } |
OpenCL uses address spaces to differentiate between various memory regions on the hardware. On the CPU all of the address spaces point to the same memory, however on the GPU, each address space points to a separate piece of memory that is unique from other memory locations.