Edit: Ah, I thought it looked low! That number is just for the iPhone CPU. I can't find an official number for the GPU but one Linpack run got 1,023 Gflops. That means it would rank in 2004.
The iPhone 6 CPU is significantly faster than 1.3 gigaflops. The 5s is capable of 10.4 gigaflops on LINPACK, and the 6 is faster still. Would have made Top500 in the late 90s.
My experience is that iPhone 6 GPU can be up to 50-70 times faster than the CPU - for single precision floating point (i.e. Swift running on the CPU, and Metal on the GPU). See http://memkite.com/blog/2014/12/18/gpgpu-performance-of-swif... for an example (comparison with Accelerate framework)
That's almost a "what not to do" for using Accelerate. You're introducing multiple passes over the data, and introducing extra dummy arrays that need to be passed over as well, which blows up the load-store traffic further. You're also using vvpowf to compute a simple reciprocal, which is wildly inefficient.
I don't mean to pick on you, but it's a misleading comparison. A basic transform that only gets rid of the extra working arrays and does no other optimizations is ~5-10x faster in my quick timings:
vvexpf(&result, &negx, &localcount)
let one = Float(1)
vDSP_vsadd(&result, 1, &one, &result, 1, localcount)
vDSP_svdiv(&one, &result, 1, &result, 1, localcount)
Titan Z can do 8 teraflops. From the Top500 List - June 2001, the #1 system at Lawrence Livermore could do R(max) 7 teraflops and R(peak) 12 teraflops.
I now see that I missed the gist of this, which was about mobile performance. The Tegra X1 can do a teraflop, which would put it at #2 on the Top500 List - June 1998.
"LINPACK" (without qualification) is a double-precision benchmark, and doesn't measure raw compute flops, but what is actually achieved solving a linear system. K1 does double-precision at a rate of 1/24, and good libraries typically achieve ~90% of rpeak on similar hardware, so something around 13.7 gflops is a reasonable estimate.
Metal is Apple’s iOS framework for GPU programming. The slides are about GPU programming using Metal, Swift, and some Objective-C for features such as shaders.
This is really inspiring stuff. Highly recommend the author's blog[1] (sadly on blogspot) and GitHub page[2] too.
His last section on 'advanced particle systems' might be able to be sped up considerably by using an appropriate neighbour list algorithm (e.g. parallel Verlet) which would scale as O(N) instead of O(N^2). I'm working on something similar myself at the moment, though with far fewer particles, but it really is inspiring to see it work with so many on a mobile device.
Can't wait for WWDC to see if there are any updates to Metal (and SceneKit for that matter).
Blogspot has a a really weird layout. It's very buggy for me in Safari, and makes browsing old posts really difficult. It also seems to take a while for content to even appear on the screen.
If every particle affects every other, wouldn't 2 million particles require 2,000,000^2 calculations per frame? 30*4 trillion interactions per sec seems a lot... or is there an efficient trick to it (in the shader)?
I was triggered. I do my best to stay away from Apple altogether. I believe in a world where companies are shamed into oblivion for not allowing their software to run across all platforms.
Apple doesn't work for the people, they work for the shareholders. Since I don't own any shares I'm dirt under their feet.
A lot of people on HN like to talk about power and privilege but when it comes to companies like Apple they make any excuse for their blatant platform discrimination.
Wow that was way out of left field. Am I not allowed to not like Apple because there’s a war in the middle east? Maybe you're the one who needs to go back to tumblr and stop trying to push your political agenda on everyone you come into contact with.
From your comment history you seem to find any excuse you can to butt in with some lame comment about the middle east. I guess this is just an attempt to control the narrative and push your political agenda.
If anyone disagrees you paint them as some kind of supporter of rape.