3 ms·
the latest i7 doesn't hold a candle to the GPU in my $40 graphics card I think I understand your point (unless you meant iPhone 7?), but interestingly, recent
by nkurz 10y ago
the latest i7 doesn't hold a candle to the GPU in my $40 graphics card
I think I understand your point (unless you meant iPhone 7?), but interestingly, recent Intel processors have impressively powerful graphics processors built in: https://software.intel.com/sites/default/files/managed/c5/9a/The-Compute-Architecture-of-Intel-Processor-Graphics-Gen9-v1d0.pdf https://software.intel.com/sites/default/files/managed/c5/9a.... So if you were using full capacity of that i7, I think it would beat your graphics card handily. The issue is that practically no one is writing code to use the full capabilities of these modern CPU's. A friend did a write up here:
http://lemire.me/blog/2016/09/19/the-rise-of-dark-circuits/ http://lemire.me/blog/2016/09/19/the-rise-of-dark-circuits/
Even without the built-in GPU, I'd bet that the right software running on that i7 would blow away that $40 graphic card. I think problem is that we don't really have the right tools for writing low level multi-core software. Image rotation parallelizes and vectorizes really well, the x64 side of those processors have excellent vector capabilities, but it still requires hand coding to get top performance.
if I want to build a Kubernetes cluster, I can throw Raspberry Pi's at the problem
A thought experiment: how fast a cluster could you make from a few dozen iPhone 7's connected wirelessly? The processors are surprisingly fast, and I think they support 802.11ac at gigabit plus speeds. Could you possibly do distributed computing on an ad-hoc network of iPhones that happen to be nearby? An app with a sandboxed work queue that accepts local connections? There's lots of reasons it makes no practical sense, but it would be quite a demo.
- Retric 10y agoThe iris pro 560 is about as fast as an ultra low end graphics card. It's simply memory starved so it might do ok on some benchmarks, but in the real world it's a ~2010 graphics card.
- nkurz 10y agoSure, as a standalone graphics card for gaming it's low end. But as an accelerator to a CPU, it seems like a phenomenally underutilized resource. It has a direct connection to RAM, a 128MB cache, and the high tier can do over a TFlop/s[1]. For use cases like Ben mentioned of rotating a RAW file that fits in this cache, it's almost a perfect fit, yet almost no-one would think of using it so it stays dark. Why is this? Not too many years ago it would have been thought insane to have a TFlop of unused capability on die, and now it's a non-story. I don't think it's because we have no use for the speed-up. Rather I think that the tooling just isn't there for most programmers to be able to make use of it. [1] http://wccftech.com/intel-iris-pro-graphics-gamers/ http://wccftech.com/intel-iris-pro-graphics-gamers/
- sliken 10y agoWell there's a bunch of problems: 1) If your are going to completely rewrite your code for an accelerator you are liking going to use CUDA to target a MUCH better accelerator. 2) If you don't you are likely going to ignore the decent intel GPUs because astonishingly small number of the intel SKUs (let alone the non-intel) have a decent GPU. Try to find a regular product/laptop with a i5-5675c or i7-5775c in it for instance. 3) CUDA was available first and seems to have the lion share of the mindshare. OpenCL is a distant second. 4) Even if you have the right SKU, devices with said SKU are often not designed for heavy GPU use and will heavily thermally throttle. I've played this game hoping for a linux laptop with a non-crappy GPU and I didn't want to play games with nvidia feeding pixels through the intel GPU to get to the screen. Very few laptops have the Iris chips. The lenovo 721s has the iris 540, but they locked linux out with their broken BIOS that disables AHCI. The XPS 13 has it as an option, but you have to get the I7 and the 3200x1800 shiny/relective screen that halves your battery life. I did manage to buy an Iris 540 NUC, nice little machine and the GPU seems to keep up quite well for the light usage I've tried. Most web games, full screen 1080P movies, and minecraft.
- brudgers 10y agoAn Intel i7-6700 will do about 200 single precision GFLOPS[1] and costs about $300 [2]. An Nvidia GeForce 710GT will do about 350 single precision GFLOPS [3] and costs about $40 [4]. A pixel pipeline is one of those 'embarrassingly parallel' workloads and the software I use, Darktable [5] is tuned to take advantage of GPU parallelism...the tools are there in no small part due to the gaming industry. Thoughting on an iPhone cluster, the hurdle seems to be software that is designed to create friction against implementing such a thing: drivers and firmware in particular. [1]: https://www.pugetsystems.com/labs/hpc/Skylake-S-i7-6700K-and-i5-6600K-for-compute-maybe-697/ https://www.pugetsystems.com/labs/hpc/Skylake-S-i7-6700K-and... [2]: http://www.newegg.com/Product/Product.aspx?Item=N82E16819117560 http://www.newegg.com/Product/Product.aspx?Item=N82E16819117... [3]: http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=100007709&IsNodeId=1&Description=nvidia&bop=And&SrchInDesc=710&Page=1&PageSize=36&order=BESTMATCH http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=... [4]: https://www.techpowerup.com/gpudb/1990/geforce-gt-710 https://www.techpowerup.com/gpudb/1990/geforce-gt-710 [5]: https://www.darktable.org/usermanual/ch10s02s04.html.php https://www.darktable.org/usermanual/ch10s02s04.html.php
- nkurz 10y agoAn Intel i7-6700 will do about 200 single precision GFLOPS[1] and costs about $300 [2]. An Nvidia GeForce 710GT will do about 350 single precision GFLOPS [3] and costs about $40 [4]. You are right, and I stand (mostly) corrected. Alternatively said for Skylake, with unrolled 256-bit FMA, you can calculate close to 16 single-precision floating point calculations per cycle per (physical) core: two vector loads, one vector store, and the 8x32-bit FMA itself. At 4 GHz this is about 100 Gflop/s per core. For 4 cores this is about the same 350 Gflop/s as the $40 graphics card you pointed to. And realistically, loop overhead will knock you down another 10%, and if you run for any length of time you probably be thermally throttled back to something closer to the 200 Gflop/s you cite. My general question about why no one is interested in using the built-in Tflop/s capable side of the Skylake die stands, but I was wrong to think that a well-tuned desktop processor could come anywhere close to the price/performance of a cheap graphics card for raw flop/s. Thanks for pointing out the real numbers.
- 10y ago
- halomru 10y agoGPUs and i7 CPUs have radically different design philosophies. The i7 has great performance per core and giant caches, while the GPU has lots of (relatively) slow cores with tiny caches, and effectively only SIMD-instructions. For simple, highly parallelized floating-point number crunching nearly any GPU will blow your i7 out of the water, no matter how you program your i7. Only a tiny fraction of the surface area of the i7 has stuff useful for that task, but GPUs are designed for that works. Conversely, any GPU will be absolutely terrible at running Microsoft Word.
- twoodfin 10y agoNot clustering, but Apple has hinted that they're exploiting (at least when they're plugged in) the computational power of hundreds of millions of phones to do work like training image recognition algorithms.