Skip to content
Snippets Groups Projects
  1. Jul 06, 2013
    • Siarhei Siamashka's avatar
      Adjust prefetches for NEON read tests · c6411701
      Siarhei Siamashka authored
      Use a fixed prefetch distance 512 bytes for everything. Also make
      sure that 32 byte prefetch step really means a single PLD instruction
      executed per 32 byte data chunk. And likewise for 64 byte prefetch.
      We don't care too much about achieving peak performance, consistency
      and predictability is more important.
      c6411701
    • Siarhei Siamashka's avatar
      Added a new "NEON read 2 data streams" benchmark · 84dc0e2e
      Siarhei Siamashka authored
      This benchmark exposes some problems or misconfiguration in Allwinner A20
      (Cortex-A7) memory subsystem. If we do reads from two separate buffers at
      once, then the performance drops quite significantly. It is documented that
      the automatic prefetcher in Cortex-A7 can only track a single data stream:
      
          http://infocenter.arm.com/help/topic/com.arm.doc.ddi0464f/CHDIGCEB.html
      
      However there is still something wrong even when using explicit PLD
      prefetch. Here are some results:
      
       NEON read                                            :   1256.7 MB/s
       NEON read prefetched (32 bytes step)                 :   1346.4 MB/s (0.4%)
       NEON read prefetched (64 bytes step)                 :   1439.6 MB/s (0.4%)
       NEON read 2 data streams                             :    371.3 MB/s (0.3%)
       NEON read 2 data streams prefetched (32 bytes step)  :    687.5 MB/s (0.5%)
       NEON read 2 data streams prefetched (64 bytes step)  :    703.2 MB/s (0.4%)
      
      Normally we would expect that the memory bandwidth should remain roughly
      the same no matter how many data streams we are reading at once. But even
      reading two data streams is enough to demonstrate big troubles.
      
      Being able to simultaneously read from multiple data streams efficiently
      is important for 2D graphics (alpha blending), colorspace conversion
      (Planar YUV -> packed RGB) and many other things.
      84dc0e2e
  2. Jul 02, 2013
  3. Jun 25, 2013
  4. Mar 23, 2013
  5. Jan 03, 2013
  6. Dec 26, 2012
  7. Dec 23, 2012
  8. Nov 14, 2012
  9. Apr 24, 2012
  10. Oct 09, 2011
  11. Sep 12, 2011
  12. Sep 10, 2011
  13. Sep 09, 2011
Loading