Single core, dual core, quad core, many core, multi core, GPU cores ... will there ever be One to Rule them All RRS feed

  • General discussion

  • Hello!

    There are several techniques in the works nowadays to take advantage of the computing power of both CPUs and GPUs - TPL and CCR from Microsoft, Cuda from nVidia, Compute Shader (part of DirectX11), Stream from AMD, OpenCL from Khronos Group etc.

    As I envision it there should be a library taking advantages of both CPU cores and GPU cores as they become available to the application. Of course there have to be some way of deciding what kind of processes get run on what kind of core (CPU or GPU) since they are fundamentally different in what they do most efficiently (the GPU being more effective in SIMD areas for example).

    I think one possible future is that a computer comprises a core pool where many different types of cores reside – or maybe there are just a couple of basic core structures. In any case there are many cores, and they can be utilized by applications in a very flexible manner.

    Are there any plans in these directions from Microsoft or someone else, making such a technology available on the .Net platform?

    Friday, October 16, 2009 9:55 AM

All replies

  • This is a fairly broad question, and I can't answer for the .NET platform.

    We have done some experimentation with using a GPU for image processing, but we don't plan to include this sort of code in RDS at this stage. Also, the code is carefully crafted for specific situations. You have to realize that using the GPU for computations can detract from its graphics performance if you have a graphics intensive application.

    Personally, I have found it curious that DSPs have not been incorporated into PCs. They are programmable and optimised for signal processing, which would help with speech recognition and synthesis. Maybe one day even FPGAs might be included...


    Monday, October 19, 2009 4:11 AM