This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Cache Coherence for BigLittle CPUs and Arm Mali T628 MP6 GPU on the odroid XU3 board

I am using the odroid XU3 board. It has the Samsung Exynos5422 SoC. The SoC has BigLittle CPUs and the Arm Mali T628 MP6 GPU.  I would like to run the CPU and the GPU in parallel on different sections of the array that I am processing. Currently to enforce coherency I have to use clEnqueueMapBuffer and clEnqueueUnmapMemObject. Usage of these OpenCL functions gives a performance degradation and due to this running the CPU and GPU in parallel becomes pointless. I have the following questions.

1) Are the caches of the ARM CPU and the GPU on this SoC coherent ?

2) The GPU shows up as two devices in OpenCL. Are these GPUs cache coherent ?
3) Is there anyway to enforce coherency other than using MapBuffer and UnmapMemObject CL functions ?

Parents
  • But do you can not modified drivers to operate all 6 cores for OpenCL?

    No; you'd need hardware memory coherency between the two core clusters to make it work transparently, which Mali-T620 doesn't support. Only the application has enough knowledge to know how to split the work safely across the two devices, so that's why we expose it as two separate OpenCL devices to the application - you can use all 6 cores, it just takes a little more effort .

    As mcgeagh has pointed out, we added the hardware support to the newer Mali GPUs (Anything in Mali-T700 series onwards), so in newer chipsets this is no longer an issue.

    mali t628 mp6  with which frequency can work?

    ARM just license the GPU IP to our silicon partners; the achievable top frequency depends on many aspects of physical implementation. This question is best aimed at the supplier of a specific chip.

    HTH,
    Pete

Reply
  • But do you can not modified drivers to operate all 6 cores for OpenCL?

    No; you'd need hardware memory coherency between the two core clusters to make it work transparently, which Mali-T620 doesn't support. Only the application has enough knowledge to know how to split the work safely across the two devices, so that's why we expose it as two separate OpenCL devices to the application - you can use all 6 cores, it just takes a little more effort .

    As mcgeagh has pointed out, we added the hardware support to the newer Mali GPUs (Anything in Mali-T700 series onwards), so in newer chipsets this is no longer an issue.

    mali t628 mp6  with which frequency can work?

    ARM just license the GPU IP to our silicon partners; the achievable top frequency depends on many aspects of physical implementation. This question is best aimed at the supplier of a specific chip.

    HTH,
    Pete

Children