5 ms·
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
by stephencanon 11y ago
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.
- sp332 11y agoDo you have a source? I couldn't find many people actually running Linpack on iPhones.
- stephencanon 11y agohttps://developer.apple.com/videos/wwdc/2014/#703 https://developer.apple.com/videos/wwdc/2014/#703 around the 30 minute mark.
- amund 11y agoMy 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-swiftmetal-vs-accelerate-on-iphone-6-5s-ipad-air-and-ipad-mini/ http://memkite.com/blog/2014/12/18/gpgpu-performance-of-swif... for an example (comparison with Accelerate framework)
- stephencanon 11y agoThat'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)