3 Replies Latest reply on May 31, 2017 10:25 AM by Intel Corporation

    Two questions on internal cache memory in GPU


      Hi, I am wondering how the cache works inside the integrated GPU and

      whether the integrated GPU provides the instruction to flush out

      the cached data from the GPU to system memory (DRAM).

      The case that I consider is when the GPU kernel shares the virtual address with CPU

      by means of Shared Virtual Memory (SVM).


      As far as I know, Intel Integrated GPU (Currently I use the Skylake i7 Processor) has

      its internal cache memory to store the fetched data from the system memory (DRAM).

      However, I cannot understand how the internal cache mechanism works

      inside the Intel Integrated GPU. Also, I would like to know about the the size of the cache,

      when the data is cached and evicted, and cache eviction policy in GPU.


      Also, as the Intel CPU provides the instruction "clflush" for flushing out the specific data

      from the CPU cache, does the intel Integrated GPU provides the same purpose instruction

      to flush out GPU internal cache memory?

      After I briefly read the GPU programming reference guide, I found the instruction

      called MI_FLUSH, but I am not sure how it works and

      how can I make the GPU invoke this instruction neither.

      It seems that I couldn't program the GPU kernel with asm keyword

      which may mean no assembly support in GPU kernel compiler.


      Thanks in advance

      Best regards