Visible to Intel only — GUID: GUID-20C8653B-8BA9-4951-9320-E10611DF9E71
Visible to Intel only — GUID: GUID-20C8653B-8BA9-4951-9320-E10611DF9E71
Memory-Mapped interfaces
You can instantiate Memory-mapped (MM) interfaces in one of the following ways:
Memory-Mapped Interface Using Accessors: Using accesors allows the compiler to manage the copying of the memory between the host and device.
Memory-Mapped Interface Using Unified Shared Memory: Using unified shared memory (USM) lets you take full control and manage copying data from the host to the device and vice versa. However, USM pointers allow you to customize the memory-mapped host interface further.
Addresses in Memory-Mapped Host interfaces
Memory-mapped (MM) host interfaces issue byte addresses, not word addresses.
For example, if you dereference a pointer to a 4-byte wide datatype, the address issued by the MM host interface is the array index multiplied by 4.
The following code example results in 0x0018 on the interface because 0x0018 = 0x0006 x 4:
uint32_t value = mm_a[0x0006];
If you dereference a pointer to a 1-byte wide datatype, the address issued by the MM Host interface is the array index multiplied by 1.
The following code example results in 0x0006 on the interface because 0x0006 = 0x0006 x 1:
uint8_t value = mm_a[0x0006];