Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save wolfram77/43a6660121eef45b78c10d4e652dad6c to your computer and use it in GitHub Desktop.
Save wolfram77/43a6660121eef45b78c10d4e652dad6c to your computer and use it in GitHub Desktop.
Basic Computer Architecture and the Case for GPUs : NOTES

Computer architectures are facing issues:

  • Memory latencies are far higher.
  • Benefits from instruction level parallelism (ILP) is reducing.
  • With increasing clock rates, power consumption is increasing.
  • Increasing complexity with multi-stage pipelines, intermediate buffers, multi-level caches, out-of-order execution, branch prediction, ...

GPUs are parallel computer architectures that are good at some tasks, not so good at others. Running routines with high arithmetic intensity with overlapped memory access is the preferred approach. They may be unsuitable for irregular algorithms, where it is difficult to get high efficiency due to the high latency of accesses. They are less versatile compared to CPUs, using SIMD parallelism, and are dense compute-wise (per currency). NVIDIA's CUDA programming model enables GPUs to be used for general-purpose computing, and hence the term GPGPU.


GPU Architectural, Programming, and Performance Models presentation at PPoPP, 2010, Bangalore, India.
By Prof. Kishore Kothapalli with Prof. P. J. Narayanan and Suryakant Patidar.



References

ORG

Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment