'A12 Bionic' of iPhone XS proved to surpass Skylake generation Intel CPU with memory parallel processing performance



Supporting the evolution of smartphones is the rapid evolution of processors. Processor "A12 Bionic" adopted in iPhone XS / XR which has received a reputation that the performance is dramatically improved, the processor for the PC is thin and partially exceeded, and the processor "A12X" of the new iPad Pro For Bionic, tests are being conducted to compare the element of memory level parallel processing with Intel's "Skylake" generation CPU.

Memory-level parallelism: Intel Skylake versus Apple A12 / A12X - Daniel Lemire's blog
https://lemire.me/blog/2018/11/13/memory-level-parallelism-intel-skylake-versus-apple-a12-a12x/

Professor Daniel Leemia, who studies computer science at the University of Quebec, Canada, said Apple 's A12 Bionic / A12 Bionic / A12X Bionic "processor and Intel's" Skylake "processor.

Professor Remair said that he compared the parallel processing of the memory level among the parallel processing of the processor. We say parallelism performance at the memory level can be measured by traversing a single path or traversing several different memory lanes to randomly traverse the array.

Since Professor Remia is interested in parallel processing of memory level concerning access to memory outside the cache, it seems that memory block is often designated as a size that can not fit in the cache memory of 256 MB in many cases, There is a possibility that failure may occur. Since the page size can not be easily changed in the iPhone or iPad Pro, the 16 kB setting is used. In the Intel processor, when specifying the page size of 4 kB and 2 MB respectively, when examining the absolute timing using one lane, Results are as shown in the table.



Intel's Skylake processor was found to outperform Apple's A12 Bionic / A12X Bionic processor, but this was only a one lane requirement, Professor Remy continued the experiment with more lanes.

The results using multiple lanes are shown in the graph below. The vertical axis shows the time taken to traverse the array, and the horizontal axis shows the number of lanes in the memory shows that the processing becomes faster as going down. For the Intel Skylake processor, which dominated while the number of lanes was small, Apple's A12 Bionic / A12X Bionic processor reversed when the number of lanes exceeds 20.


Furthermore, in order to measure "speeding up" by parallel processing at the memory level, the "time taken to traverse the array in one lane" is divided by "the time taken when using multiple lanes" The graph. The Intel Skylake processor ceased from 10 times to 11 times, whereas the A12 Bionic / A12X Bionic processor had more than 20 times scenes and it was found that high efficiency can be maintained by parallelization.


As for memory level parallel processing, Professor Remia confirmed that Apple's A12 Bionic / A12X Bionic processor outperformed Intel Skylake processor, but the processor consumes much less power for mobile processors When I think about it, we are saying that there is no way to compare with efficiency. And if you can increase the page size on iOS, we say that the processing speed of the A12 Bionic / A12X Bionic processor should give better results.

The C ++ code used by Professor Remia in this comparative experiment is published in GitHub.

GitHub - lemire / MemoryLanes: iOS app to test memory - level parallelism
https://github.com/lemire/MemoryLanes

in Mobile,   Hardware, Posted by darkhorse_log