OT: Why all the talk about GPU acceleration?

lewist57 wrote on 1/12/2017, 11:35 AM

There has always been a lot of postings regarding utilization of the GPU and how much it does, or does not, speed up working with Vegas. Below is part of an article from CodeProject that lays out the advantages of programming your project to use the GPU in addition to the CPU:

 

Introduction

This project is going to show you that a modern Core I7 is probably the slowest piece of programmable hardware you have in your PC. Modern Quad Core CPUs have about 6 Gflops whereas modern GPUs have about 6Tflops of computational power.

Do I Need This?

Your computer is a very powerful machine. By using only the CPU to execute tasks, you might waste about 90% of its potential.

If you have a piece of code which is concurrent and you want to speed it up, this is the right project for you. Ideally, all your data fits into some float or other numeric arrays.

Examples for a potential speed up would be:

  • Work on pictures or movies
  • Any work that can be done parallel
  • Do hard number crunching on your GPU
  • Save energy and time by using GPU and CPU in parallel
  • Use your GPU for any task and have your CPU free to do something else

Keep in mind that this project uses OpenCL. Unlike Cuda, it runs on any GPU (Amd, Nvidia, Intel) and also on the CPU. So any program you write can be used on any device. (Even phones)

Tested on NVIDA, AMD, and Intel.

These are the results for simple prime calculation.

As you can see, you really can speed up your program a LOT. Native C# is 5x slower than the best speed you can get on your PC. This is not even the best case scenario. The speedup factor can approach 500x in pure multiply add workloads. (GPUs really shine in this domain). If there are many ifs, the CPU can be better sometimes.
 

Now, with that said, this is not a programming forum, but this information is provided for Vegas users with the hopes that more and more of the program will be converted in the future to utilize our modern GPUs.

Comments

Red Prince wrote on 1/12/2017, 11:41 AM

There has always been a lot of postings regarding utilization of the GPU and how much it does, or does not, speed up working with Vegas. Below is part of an article from CodeProject

So, why didn’t you post a link to the article?

He who knows does not speak; he who speaks does not know.
                    — Lao Tze in Tao Te Ching

Can you imagine the silence if everyone only said what he knows?
                    — Karel Čapek (The guy who gave us the word “robot” in R.U.R.)

lewist57 wrote on 1/12/2017, 11:52 AM

Here you go:

https://www.codeproject.com/Articles/1116907/How-to-Use-Your-GPU-in-NET

Did not originally post since it was not directly addressing Vegas or programs like it. Mainly wanted to emphasize the greater performance abilities of modern GPUs over modern CPUs.

Red Prince wrote on 1/12/2017, 11:54 AM

Thank you.

He who knows does not speak; he who speaks does not know.
                    — Lao Tze in Tao Te Ching

Can you imagine the silence if everyone only said what he knows?
                    — Karel Čapek (The guy who gave us the word “robot” in R.U.R.)

john_dennis wrote on 1/12/2017, 12:26 PM

"If you have a piece of code which is concurrent..."