Questions tagged [gpgpu]

GPGPU is an acronym for the field of computer science known as "General Purpose computing on the Graphics Processing Unit (GPU)"

GPGPU is an acronym for the field of computer science known as "General Purpose computing on the Graphics Processing Unit (GPU)". The two biggest manufacturers of GPUs are NVIDIA and AMD, although Intel has recently been moving in this direction with the Haswell APUs . There are two popular frameworks for GPGPU - NVidia's CUDA, which is only supported on its own hardware, and OpenCL developed by the Khronos Group. The latter is a consortium including all of AMD, NVidia, Intel, Apple and others, but the OpenCL standard is only half-heartedly supported by NVidia - creating a partial reflection of the rivalry among GPU manufacturers in the rivalry of programming frameworks.

The attractiveness of using GPUs for other tasks largely stems from the parallel processing capabilities of many modern graphics cards. Some cards can have thousands of streams processing similar data at incredible rates.

In the past, CPUs first emulated threading/multiple data streams through interpolation of processing tasks. Over time, we gained multiple cores with multiple threads. Now video cards house a number of GPUs, hosting many more threads or streams than many CPUs, and extremely fast memory integrated together. This huge increase of threads in execution is achieved thanks to the technique SIMD which stands for Single Instruction Multiple Data. This makes an environment uniquely suited for heavy computational loads that are able to undergo parallelization. Furthermore this technique also marks one of main differences between GPUs and CPUs as they are doing best what they were designed for.

More information at http://en.wikipedia.org/wiki/GPGPU

2243 questions
418
votes
25 answers

Fastest sort of fixed length 6 int array

Answering to another Stack Overflow question (this one) I stumbled upon an interesting sub-problem. What is the fastest way to sort an array of 6 integers? As the question is very low level: we can't assume libraries are available (and the call…
kriss
  • 23,497
  • 17
  • 97
  • 116
176
votes
2 answers

How do CUDA blocks/warps/threads map onto CUDA cores?

I have been using CUDA for a few weeks, but I have some doubts about the allocation of blocks/warps/thread. I am studying the architecture from a didactic point of view (university project), so reaching peak performance is not my concern. First of…
Daedalus
  • 1,761
  • 3
  • 11
  • 3
146
votes
13 answers

Utilizing the GPU with c#

I am trying to get more processing power out of my grid. I am using all cpus/cores, is it possible to utilize the GPU with C#. Anyone know any libraries or got any sample code?
csharpdevguy568
127
votes
9 answers

Is it possible to run CUDA on AMD GPUs?

I'd like to extend my skill set into GPU computing. I am familiar with raytracing and realtime graphics(OpenGL), but the next generation of graphics and high performance computing seems to be in GPU computing or something like it. I currently use an…
Lee Jacobs
  • 1,692
  • 3
  • 12
  • 21
108
votes
10 answers

NVIDIA vs AMD: GPGPU performance

I'd like to hear from people with experience of coding for both. Myself, I only have experience with NVIDIA. NVIDIA CUDA seems to be a lot more popular than the competition. (Just counting question tags on this forum, 'cuda' outperforms 'opencl'…
Eugene Smith
  • 9,126
  • 6
  • 36
  • 40
105
votes
2 answers

nvidia-smi Volatile GPU-Utilization explanation?

I know that nvidia-smi -l 1 will give the GPU usage every one second (similarly to the following). However, I would appreciate an explanation on what Volatile GPU-Util really means. Is that the number of used SMs over total SMs, or the occupancy, or…
user3813674
  • 2,553
  • 2
  • 15
  • 26
96
votes
8 answers

Best approach for GPGPU/CUDA/OpenCL in Java?

General-purpose computing on graphics processing units (GPGPU) is a very attractive concept to harness the power of the GPU for any kind of computing. I'd love to use GPGPU for image processing, particles, and fast geometric operations. Right now,…
Frederik
  • 14,156
  • 10
  • 45
  • 53
96
votes
13 answers

How can I flush GPU memory using CUDA (physical reset is unavailable)

My CUDA program crashed during execution, before memory was flushed. As a result, device memory remained occupied. I'm running on a GTX 580, for which nvidia-smi --gpu-reset is not supported. Placing cudaDeviceReset() in the beginning of the program…
timdim
  • 991
  • 1
  • 7
  • 6
92
votes
11 answers

OpenGL vs. OpenCL, which to choose and why?

What features make OpenCL unique to choose over OpenGL with GLSL for calculations? Despite the graphic related terminology and inpractical datatypes, is there any real caveat to OpenGL? For example, parallel function evaluation can be done by…
dronus
  • 10,774
  • 8
  • 54
  • 80
88
votes
4 answers

When to call cudaDeviceSynchronize?

when is calling to the cudaDeviceSynchronize function really needed?. As far as I understand from the CUDA documentation, CUDA kernels are asynchronous, so it seems that we should call cudaDeviceSynchronize after each kernel launch. However, I…
user1588226
  • 881
  • 1
  • 7
  • 4
75
votes
2 answers

GPU Programming, CUDA or OpenCL?

I am a newbie to GPU programming. I have a laptop with NVIDIA GeForce GT 640 card. I am faced with 2 dilemmas, suggestions are most welcome. If I go for CUDA -- Ubuntu or Windows Clearly CUDA is more suitable to windows while it can be a severe…
Arkapravo
  • 4,084
  • 9
  • 37
  • 46
66
votes
8 answers

OpenCL / AMD: Deep Learning

While "googl'ing" and doing some research I were not able to find any serious/popular framework/sdk for scientific GPGPU-Computing and OpenCL on AMD hardware. Is there any literature and/or software I missed? Especially I am interested in deep…
daniel451
  • 10,626
  • 19
  • 67
  • 125
66
votes
2 answers

What is the difference between OpenCL and OpenGL's compute shader?

I know OpenCL gives control of the GPU's memory architecture and thus allows better optimization, but, leaving this aside, can we use Compute Shaders for vector operations (addition, multiplication, inversion, etc.)?
Maiss
  • 1,641
  • 4
  • 18
  • 23
57
votes
6 answers

Compression library using Nvidia's CUDA

Does anyone know a project which implements standard compression methods (like Zip, GZip, BZip2, LZMA,...) using NVIDIA's CUDA library? I was wondering if algorithms which can make use of a lot of parallel tasks (like compression) wouldn't run much…
Xn0vv3r
  • 17,766
  • 13
  • 58
  • 65
57
votes
2 answers

Accelerating MATLAB code using GPUs?

AccelerEyes announced in December 2012 that it works with Mathworks on the GPU code and has discontinued its product Jacket for MATLAB: http://blog.accelereyes.com/blog/2012/12/12/exciting-updates-from-accelereyes/ Unfortunately they do not sell…
Stiefel
  • 2,677
  • 3
  • 31
  • 42
1
2 3
99 100