The folks over at Peakstream have some interesting ideas. Very similar to what we have been talking about and pitching for the past 4 years.
One difference is that they have just closed a series B round, and we can’t seem to find any interest. It’s the location.
Ok, on to the concept. Abstract the complexity. Make the programming simpler. Make it easy to integrate. Make it seamless. Remove restrictions.
Sounds good, right? Well, read their FAQ carefully. Double precision, an absolute requirement for much numerical FP scientific computing, and to an extent, for engineering computing, is done on the host processor. This is good, if you can hide it from the user, and I expect that they can. What it does however is to run performance critical sections on relatively slower systems. This is the case as the GPUs and the other APU targets are single precision engines. Specifically single precision streaming calculation engines. Their programming focus appears to focus upon this.
There are many areas that cannot give up double precision due to algorithmic instabilities, roundoff error accumulation, and related. If the GPU based APUs can do double precision at very high speed, then this won’t be so much of an issue. But double precision is expensive and would change the economics of the GPU pipeline build.
So don’t expect GPU based APUs to do double precision soon. Again, if I am wrong, I would love to hear it.
The approach is sound though. Very similar to what we pitched.
The harder something is to use, the fewer users of it there will be unless there is a compelling reason to use it. The easier something is to use, the lower the barriers to use, and the more likely it will be used if it is useful. Thats the rub… will algorithms be recast in single precision with extra stability code, or will they be run in double precision and APUs that can do double precision ? I would guess the latter. Peakstream is betting on the former. Maybe we are both right.
People want it easy, fast, and accurate. I think they get to pick two of these three choices. Would be great to get 3 out of 3, and we could if …