Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GPU Programming

Tags:

gpu

openmp

opencl

I want to do some GPU programming. What's the way to go here? I want to learn something that is "open" , cross platform and a "higher" language. I don't want to be lock into just GPU vendor nor OS, platform, etc.

What are my choices here? Cuda, OpenCL, OpenMP, other? What's the pros/cons for them?

What about G/HLSL and PhysX?

I'm looking at doing "general purpose" programming, some math, number crunching, simulations, etc. Maybe spit out some pretty graphics, but not specifically graphics programming.

like image 881
user697111 Avatar asked Dec 07 '22 22:12

user697111


2 Answers

The answer marked correct is now outdated and incorrect. In particular OpenMP 4.0 supports GPU acceleration.

like image 129
Bob Anderson Avatar answered Dec 15 '22 06:12

Bob Anderson


OpenMP is cpu only, but easy to implement, CUDA is basically GPU only. Ati Stream supports both, but only on Ati/AMD gpu's. OpenCL is your only "open" option that supports both.

like image 30
keepitreall89 Avatar answered Dec 15 '22 04:12

keepitreall89