1. #1

    Emulating CPU on a GPU

    This is a question I have had for some time. Would it be possible to emulate a CPU on a GPU and so use the emulated CPU as say a 5th core as part of a 4 core processor?

  2. #2
    Not possible with current technology, GPU and CPU architectures are too vastly different. A GPU is more like a hundred-plus core processor with very limited functionality compared to a two- to twelve-core processor with nearly infinite functionality. GPU tech has become far more programmable lately, but they're not x86 chips or anywhere near capable of emulating one.
    Super casual.

  3. #3
    It is indeed possible, but not as simple as you put it. I was offered a project on the matter from my supervisor, but seeing as I went with another project, I cannot fill you in on the matter. If you're interested in reading more follow this link: http://gpgpu.org/

  4. #4
    I can't find anything on that site for making a GPU run x86/x64 compiled programs. HPC and GPU compute apps are far different than simply tacking the GPU onto a CPU as a "fifth core." For that matter, even if it was possible the CPU overhead behind translating x86 instructions into a format GPUs could run would probably negate the whole point of doing it in the first place.

    Unless you can link to a particular project on the site that would prove my above paragraph wrong, but I can't find anything there.
    Super casual.

  5. #5
    I don't think you can emulate CPU on GPU, but you can write specialized programs that would use GPU for calculations.

    For example:
    http://pressroom.nvidia.com/easyir/c...157&xhtml=true
    NVIDIA announced today that its Tesla™ GPUs are being used by the largest investment bank entity, J.P. Morgan, to deliver a 40X increase in the end-to-end speed of its risk calculations, while reducing the cost of ownership.

  6. #6
    Quote Originally Posted by Nellah View Post
    I can't find anything on that site for making a GPU run x86/x64 compiled programs. HPC and GPU compute apps are far different than simply tacking the GPU onto a CPU as a "fifth core." For that matter, even if it was possible the CPU overhead behind translating x86 instructions into a format GPUs could run would probably negate the whole point of doing it in the first place.

    Unless you can link to a particular project on the site that would prove my above paragraph wrong, but I can't find anything there.
    I never tried to prove you wrong. I didn't mean to say that you could "just use it as a fifth core". I did not mean to say that a GPU in the current state of research on GPGPU can, without any modification, blindly run x86/x64 compiled programs, like any other (C)PU. What I did mean to say is that utilizing the GPU and get a performance increase similar to that of getting a "fifth core", is far form impossible. The challenge is knowing what and how to compile code effectively to increase performance. This area, however, is still in research and is something that will not be commonly used for many years to come, however it is in research, and likely will happen.

  7. #7
    Can't even certain functions of a CPU be emulated on a GPU so as to take workload off the CPU. If people are not playing games the GPU stays there being useless with all those billions of transistors under the hood. Surely they can be put to some use. Especially in APU based systems.

  8. #8
    Yep. Folding@Home.

    Programs have to be specifically written to take advantage of a GPU. Code that runs on a CPU cannot run on a GPU, and vice versa.
    Super casual.

  9. #9
    You can't make the programs use the GPU as a fifth core, but one can program the programs to utilize for example CUDA (nvidia) and thus run code on the GPU and hopefully save some time doing specific calculations. It all depends on the type of calculations really, if you will benefit coding with CUDA for the GPU or just the regular old way for the CPU.

  10. #10
    Deleted
    Quote Originally Posted by Nellah View Post
    Code that runs on a CPU cannot run on a GPU, and vice versa.
    Not quite. CPUs can perform GPU tasks, but far slower. The instructions GPUs do handle, they can easily perform 10-20x faster than an entire CPU chip. You might've heard of 'Software Rendering'.

  11. #11
    Quote Originally Posted by DarkXale View Post
    Not quite. CPUs can perform GPU tasks, but far slower. The instructions GPUs do handle, they can easily perform 10-20x faster than an entire CPU chip. You might've heard of 'Software Rendering'.
    Which is as far as I'm aware a completely separate rendering pipeline than running in hardware, with different instructions fed to the CPU than would be to the GPU.
    Super casual.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •