7 - GPU Quickies Flashcards
In what way(s) is a texturing unit more than just another memory?
it is optimized for 2D access (read only)
List and briefly explain (short comments of a few words) the importance of two
major features of the Fermi architecture that were not available in earlier GPUs.
SM + shared memory
How can a non-coalesced memory access be converted to a coalesced memory access?
use shared memory, the first access will be coalesced but not the others
What concept in OpenCL corresponds to a thread processor?
work-item
Explain why the G80 architecture had significantly higher performance than earlier
GPUs.
a
Describe how multiple CUDA streams can be used to accelerate a computation
Stream
A sequence of operations that execute in issue-order on the GPU
Programming model used to effect concurrency
CUDA operations in different streams may run concurrently
CUDA operations from different streams may be interleaved
Translate the following CUDA concepts to corresponding concepts in OpenCL:
i. shared memory
ii. block
iii. thread
shared memory = local
block = work-group
thread = Work-item
Texture memory provides interpolation in hardware. Why is this a questionable
feature to rely on?
a
Give one argument each in favor of using i. CUDA ii. OpenCL iii. GLSL for a general computing task (which can benefit from a parallel implementation).
a
When can constant memory give a performance advantage?
a
What kind of shaders is most interesting for GPU computing? (What part of the
pipeline?)
a
What geometry is usually used for shader-based GPU computing?
a
List three different kinds of hardware that OpenCL runs on. (Similar systems by
different vendors count as one.)
GPU Intel compatible CPUs ARM FPGA CELL Intel Xeon Phi
In CUDA, you can use the modifier __host__. What does this signify?
a
What kind of algorithms benefit from using constant memory? (
Accessible by all threads. Lifetime of application. Fully cached, but limited.