4 ms·
"optimal" and "standard" do not go together.... You will always be more efficient if you can tailor your code to a particular device, a standard abstraction wi
by TickleSteve 11y ago
"optimal" and "standard" do not go together....
You will always be more efficient if you can tailor your code to a particular device, a standard abstraction will never let you get to that level.
What you need to ask is:
1) Do you really need the extra 90% effort for the 10% extra performance?
2) are the tools good enough? are the abstractions wrong?
This article seems to be saying that the abstractions are wrong... how do these techniques fare on other devices?
- eggy 11y agoI don't fully understand the full concept of SPMD, as well as I understood SIMD (from Dart!), but it sounds like you can write one version by just using SPMD vs. explicit coding, since it runs equally optimized on 64-bit wide or 8-bit wide SIMD lanes, no? From the article: "SPMD has a serious advantage in that it’s able to target AMD’s massive 64-wide SIMDs just as easily as Intel’s itty-bitty 8-wide ones, at least for simple usage patterns like do this operation on 1 million pixels. For simple stream processing applications, SPMD makes perfect sense, and it’s relatively easy to write one source code that will run close to optimal on all the architectures."