GPGPU is obviously becoming more important, but currently it's pretty inaccessible in terms of programming model.
What prevents (or when do you think we'll see, if nothing fundamentally prevents) extensions of common virtual programming environments (Java and .NET really) in some constrained fashion into the GPGPU realm?
Obviously GPGPU is sensible/optimal only for certain classes of algorithm, and likely that would reflect into the virtual environment in several ways:
1) Very limitted support for system libraries normally taken for granted in those environments (right down to none at all possibly, apart from GPGPU support infrastructure classes)
2) Probably some extensions, either to languages, or (more likely) via system support classes to provide highly parallel exection models
3) New system support classes to allow (presumably asynchronous) commiunication between the GPGPU and CPU realms (maybe this looks just like distributed computing models, but not sure since the performance characteristics would be atypical)
With APUs heading for the mainstream from both AMD and Intel, and the currently extant discrete GPU's it seems that there could be significant benefits from leveraging the GPGPU capabilities much more widely. However, to realistically do so they need to be much more accessible than is the case today. What are your thoughts...?
What prevents (or when do you think we'll see, if nothing fundamentally prevents) extensions of common virtual programming environments (Java and .NET really) in some constrained fashion into the GPGPU realm?
Obviously GPGPU is sensible/optimal only for certain classes of algorithm, and likely that would reflect into the virtual environment in several ways:
1) Very limitted support for system libraries normally taken for granted in those environments (right down to none at all possibly, apart from GPGPU support infrastructure classes)
2) Probably some extensions, either to languages, or (more likely) via system support classes to provide highly parallel exection models
3) New system support classes to allow (presumably asynchronous) commiunication between the GPGPU and CPU realms (maybe this looks just like distributed computing models, but not sure since the performance characteristics would be atypical)
With APUs heading for the mainstream from both AMD and Intel, and the currently extant discrete GPU's it seems that there could be significant benefits from leveraging the GPGPU capabilities much more widely. However, to realistically do so they need to be much more accessible than is the case today. What are your thoughts...?