6 votes
Accepted

Optimal memory access when using lookup tables on GPU?

The best place to put a look up table for a GPU compute shader depends on the size of the lookup table, and the frequency/coherency of access. In your case (you mentioned 4kb), shared local memory ...
GroverManheim's user avatar
5 votes
Accepted

Is `groupshared` memory stored in L2 cache of GPU?

There seems to be some confusion of terminology here. In Direct3D, you have threads and thread groups. "work item" and "work group" are generally encountered in OpenCL terminology, where a "work item" ...
Michael Kenzel's user avatar
5 votes

GPU branching if without else

Old Hardware Some older cards didn't used to jump instructions in warps, so this was indeed an issue. If you have a conditional with these cards, the inside logic of the conditional would still be ...
aces's user avatar
  • 1,353
4 votes
Accepted

GPU branching if without else

If there is no divergence (i.e. all threads in a wave take the same branch) newer GPU's can skip all the work within the if-branch. If there's divergence, then code in both branches is executed, but ...
JarkkoL's user avatar
  • 3,636
4 votes
Accepted

Is it possible to emulate Vulkan on a non Vulkan compatible gpu?

It's possible to emulate Vulkan on a sufficiently capable non-Vulkan API. This is the point of the Vulkan Portability Initiative. Indeed, there is already a Vulkan implementation on top of the Apple ...
Jherico's user avatar
  • 521
3 votes
Accepted

Process of compute shader in OpenGL

The Opengl deals this problem automatically? How could it? At no point do you inform OpenGL that you only want 900 invocations. You have exactly 2 mechanisms to control the number of invocations: ...
Nicol Bolas's user avatar
  • 9,772
3 votes

Using multiply and accumulate of 4x4 matrices for ray-triangle intersection tests on GPU

Yes, it is possible. For one however, Möller-Trumbore is not the only algorithm out there for ray triangle intersection, there exist others. However all of these rely on linear algebra vector ...
Krupip's user avatar
  • 280
2 votes
Accepted

How to avoid slowdown with 25-30 students running simple GPU kernels on 4 GeForce GTX 650 Ti s?

You need nvidia-docker. If your ssh server is in a Docker instance, you can assign each one to a different GPU. Then just set things up so only one team is sshing into each Docker instance. You don't ...
Dan Hulme's user avatar
  • 6,810
2 votes

What is my GPU waiting on?

Compute queues in general don't necessarily mean you can now do 2x dispatches in parallel. A single queue that fully saturates the compute units will have better throughput. Multiple queues are useful ...
Calvin's user avatar
  • 506
2 votes

What framework shoud I use to implement the RAISR upscaling algorithm on the GPU?

Are there algorithms that cannot be implemented this way and have to be implemented in OpenCL, and if so, how do I know if my algorithm is one of them? Yes. Generally scatter-gather algorithms work ...
user1118321's user avatar
  • 3,401
2 votes

Has general purpose GPU computing been used before compute shaders were available?

This still happens in constraint platforms like OpenGL ES or the like were there are no compute shaders available and you end up hacking pixel shaders to do general purpose calculations, see any WebGL ...
Felipe Gutierrez's user avatar
1 vote
Accepted

Has general purpose GPU computing been used before compute shaders were available?

One early example of this (no doubt there are many others) was a 2004 Gamasutra article "Building a Million-Particle System". It represented particle data, such as positions and velocities, ...
Nathan Reed's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible