My concern for flexibility is in workloads that don't use rasterization, filtering, or Z-testing.It needs to, since things like rasterisation, texture-filtering and Z-testing all have to be able to run as independent programs. These programs are out of sight on a current GPU.
AMD would be concerned about this too.
That's a whole other level of flexibility I hadn't been thinking of, actually.As far as I can tell both G80 and R600 only support one kernel executing in GPGPU mode at any one time (shared by all SIMDs). I expect that to change...
I for some reason thought R600's virtualized resources already had some flexibility in this regard.
SIMD count puts a very usable upper bound on the amount of concurrent and independent work a GPU in the style of R600 can do.When a GPU can time-slice arbitrary kernels I don't see how you can reduce feasibility/utility/performance down to a statement defined by concurrently active kernels. Flexibility normally comes at the cost of performance.
We know by virtue of there being 4 SIMDs, we won't be seeing 5 different shader clauses hitting the ALUs at the same time.
Inflexibility normally comes at the cost of utilization, which in turn impacts performance and power.
Power, in particular, is something that will be even more critical in the future.
I honestly hoped for a more assertive repudiation by now (by execs, some no longer with AMD) of some statements I heard before stating GPUs didn't have to worry about a power ceiling.
Even if they did time-slice, time-slicing isn't concurrent execution.Now, if you were to argue that GPUs will never time-slice kernels upon individual SIMDs, well that's a different matter. I might have the wrong end of the stick here, expecting GPUs to do so