etnaviv: i.mx6qp ocram CL memory performance

Chris Healy cphealy at gmail.com
Mon Oct 2 04:06:22 UTC 2017


Getting back to this subject, with the GC3000 in the i.MX6qp, ocram2 and
ocram3 was added specifically to support the PRE (prefetch and resolve
engine).  Both of ocram2 and ocram3 are needed by the PRE to support the
use case of multiple 1080p displays wired up to the IPUs.

For most use cases, no more than a single 1080p display is used which I
believe means that at least all of ocram2 or ocram3 is fully unused and
probably 1/2 of ocram2 or ocram3 is also unused.  This means we probably
have 128KB or 192KB of OCRAM available that is both ~8% faster than the DDR
and probably lower latency than the DDR.  Not only is this OCRAM faster and
lower latency than the DDR but any time this memory is used, it both
reduces the use of the limited bandwidth of the system DDR and reduces the
power consumed by accessing the DDR.

Are there any non-application-specific ways that this available OCRAM could
be used by the GPU?  If not, do any application-specific uses come to mind
that this OCRAM could be used for?

I'm hoping that perhaps this OCRAM could be used as some kind of last-level
cache under various scenarios to minimize DDR access (and hopefully reduce
heat generation.)

For my use cases, I'm texture access heavy as I'm driving GUIs that have
decoded video frames in them so anything in this area would be particularly
interesting.

On Mon, Dec 12, 2016 at 5:00 AM, Wladimir J. van der Laan <laanwj at gmail.com>
wrote:

>
> > Also, with regard to the OCRAM, can you specify which OCRAM was used?
> (Did
> > you stick to the 2 128KB OCRAM hanging off MX6FAST2 or was the 1 256KB
> > OCRAM hanging off MX6FAST3 also used?  The 2 128KB OCRAM hanging off
> > MX6FAST2 should have the highest OCRAM performance.)
>
> I re-did these benchmarks with all the ocrams separately:
>
> [read]    [ram]    Speed: 113.606 MB/s
> [readacc] [ram]    Speed:  82.522 MB/s
> [write]   [ram]    Speed: 234.779 MB/s
>
> [read]    [ocram1] Speed:  87.887 MB/s
> [readacc] [ocram1] Speed:  70.321 MB/s
> [write]   [ocram1] Speed: 234.779 MB/s
>
> [read]    [ocram2] Speed: 123.202 MB/s
> [readacc] [ocram2] Speed:  91.283 MB/s
> [write]   [ocram2] Speed: 234.776 MB/s
>
> [read]    [ocram3] Speed: 123.204 MB/s
> [readacc] [ocram3] Speed:  91.305 MB/s
> [write]   [ocram3] Speed: 234.778 MB/s
>
> ocramX is the number from the dtsi:
> - ocram1 is 256KB (this is clearly the slow one, slower than DDR ram)
> - ocram2 is 128KB
> - ocram3 is 128KB
>
> Apparently I was only measuring the slow ocram before.
> ocram2 and 3 do indeed read somewhat (~8%) faster than DDR.
>
> Regards,
> Wladimir
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/etnaviv/attachments/20171001/eff03a63/attachment.html>


More information about the etnaviv mailing list