4 ms·
On typical consumer hardware you really want to batch up your processing in a way that gives you the best computation/data ratio to prevent performance being ki
by w0utert 11y ago
On typical consumer hardware you really want to batch up your processing in a way that gives you the best computation/data ratio to prevent performance being killed by data latencies, I don't think any kind of solution exists that can do that for you automatically/transparently. For the usual suspects like signal processing stuff and such, these problems are relatively easy to overcome because you typically have large amounts of data that can be processed at once or in in blocks.
What would make your project even more interesting is to see how it would perform on an heterogeneous system architecture (HSA), ie: what AMD is working towards. In an HSA, the CPU and GPU share the same memory and address space and a program can basically move processing between the two at close to no cost (no memory ever needs to be copied or mapped in/out GPU address space). For problems that allow some kind of pipelining to absorb start-up latencies caused by data dependencies, a combination of Lua + Terracuda would be pretty awesome, allowing you to move even small/short-running computational tasks to the GPU.