21 ms·
Many times I have had programming problems that would have usefully been able to use a lot of cores especially with reasonable IO wait on each of the threads of
by PaulKeeble 12y ago
Many times I have had programming problems that would have usefully been able to use a lot of cores especially with reasonable IO wait on each of the threads of execution. But in order to really have just been able to use this it needs:
1) The cores need to run modern x86 so its a simple matter of just running the binary.
2) The offloading and concept of heterogeneous cores needs to be added into the operating system. All the cores should be exposed to programs and then putting threads onto accelerators ought to be something a hint can suggest or maybe a special type of parallel thread created. In essence the OS needs to be exposing them like any other core with shared memory and everything else this entails to make it native.
The current model that GPUs use is very good for doing matrices of data but it really doesn't lend itself to agents or other types of concurrency. Its a bit of a stretch to be writing in a restricted form of C which is pretty low level with openCL or DirectCompute combined with all the API and data passing overhead its a very specific type of program that benefits and it requires rewriting your code completely. The future can't possibly be this in the general case and its not really being adopted all that widely, some people are using it of course but most aren't.
In my opinion lots of low power cores that run the same instruction set as the primary CPU gives us a useful middle ground that is easier to use and optimise for and can be used alongside the primary fast cores of the main CPU. That is the future I am hoping for.
- higherpurpose 12y agoAMD/ARM's HSA doesn't need OpenCL (although it will support OpenCL 2.0 which is much more optimized for heterogeneous computing). I guess you're talking about the current state of GPU computing. The next-generation, that will be based on HSA, should be much better. You can even use Java or other languages to write for it.