GPU Accelerated Process

Hi,

I am looking to accelerate some old(ish) games on a Quadro 6000. Is there any way to write a program that allows some of the CPU workload to be offloaded onto the GPU (as far as processing goes)?

I am mainly interested in creating a program that would allow me to speed up/ run just about any CPU process on a GPU as well.

Thanks.

Hi Agastya,

Is there any way to write a program that allows some of the CPU workload to be offloaded onto the GPU (as far as processing goes)?

Yes, there are many ways to do this. PGI offers two main approaches:

    1. a pragma/directive based approach, openACC, where the program inserts hints to the compiler where to offload the compute intensive portions to the GPU.
  1. CUDA Fortran where the programmer explicitly writes and manages the GPU code as part of the larger CPU program.

Other methods would include NVIDIA’s CUDA C/C++ and OpenCL. While PGI does also offer both CUDA C and OpenCL compilers, neither currently targets NVIDIA GPUs.

You can find more information about our product offerings from our home page: http://www.pgroup.com/index.htm.

Each method has it’s strengths and weaknesses and which method is best for you largely depends upon your project and your skill level.

I am mainly interested in creating a program that would allow me to speed up/ run just about any CPU process on a GPU as well.

A GPU is a very specialized architecture. They work very well on highly parallel, compute intensive regions of code, but perform poorly for serial code. So a GPU will not allow you speed-up just about any CPU process, but in the cases where it can speed-up your code, it can do so by quite a lot.

  • Mat

Hi,

Thanks for the reply!

What I am trying to do is accelerate an Ansys CFD solver process (in addition to the games I was speaking of). It is highly parallel and compute intensive.

I do not have the source code, so is there any way to write a program which would interface sort of like a driver–a go-between process that could offload CPU load from a completely different process (Say, something like flight simulator, or a pcmpi thread) to the GPU?

As I understand it, both the CUDA fortran and openACC need the source code.

Hi Agastya Parikh,

Sorry but in order to take advantage of the GPU, the source code needs to be modified. CPU binaries can’t be run on a GPU. Maybe there is a tool out there that can do some type of conversion, but I highly doubt it.

You might want to check with Ansys if they have a GPU enabled version.

  • Mat

OK, that is what I thought the case would be, but I wanted to check.

Do you have any clue what the source code would look like (what extensions it would have)? There are a whole bunch of non-executables and non-dlls in the ANSYS folder–mainly *.lib files.

ANSYS doesn’t currently have GPU support for their CFD software, which is why I was curious about this.

Thanks.