Hi,
I have an Odroid XU3 running Ubuntu 14.04 (big.LITTLE with A15 and A7 + Mali-T628 MP6)
I want to program the big.LITTLE cores together with the GPU, all using OpenCL. I have read that OpenCL for Neon should make it possible to use the CPUs (both A7 and A15).
First question: I got the Mali OpenCL user space driver to work but it shows me two GPU devices, both identical except the number of compute units:
CL_DEVICE_NAME: Mali-T628
CL_DEVICE_VENDOR: ARM
CL_DRIVER_VERSION: 1.1
CL_DEVICE_TYPE: CL_DEVICE_TYPE_GPU
CL_DEVICE_MAX_COMPUTE_UNITS: 4
...
and
CL_DEVICE_MAX_COMPUTE_UNITS: 2
Does someone have a glue what that means? I guess I don't have two different GPUs in my system, right?
Second question: Where can I download OpenCL for NEON (never found a download link) and how do I install it?
Thanks a lot,
Tomas
Hi tomas,
Mali-T628 is the only Mali GPU which is not fully cache coherent which is why it appears as two separate devices: one of 4 cores, one of 2 cores. I'm afraid there is no way around it. (Any other Mali GPU however will appear as a single device).
Regarding CL on NEON: the ARM implementation is not currently publicly available.
Hope this helps,
Anthony
Hi Anthony,
thanks a lot for your answer.
Does that mean, that Mali-T628 has a total of 6 cores, but since they are not fully cache coherent, they show up as two devices? So if I want to fully utilize the GPU, I have to divide my work and start kernels on both devices at the same time, right?
About CL on NEON: Do you know if there is a Beta Program or if the release date is already public?
Thanks,
That's correct: you will have to create one command queue for each device and dispatch kernels to both of them.
Regarding CL on NEON: it's still unclear at the moment whether or not this product will be made public. If it ever becomes public it will be on the malidevelopers website so watch this space.