Skip to content

Documentation on how GPU's work internally and communicate externally

License

Notifications You must be signed in to change notification settings

markdewing/GPU_internals

Repository files navigation

GPU Internals

Documentation on how GPU's work internally and communicate externally. Mostly focused on compute applications.

Knowing details about internals is useful for

  • debugging - some problems need understanding of lower levels of abstraction
  • performance - need to know hardware layout to reason about performance
  • curiosity - more confidence in using programming models with a better understanding of the hardware and abstraction layers

By Vendor

NVIDIA

Assembly

Projects that might yield interesting info

AMD

Assembly

Intel

Assembly

Raspberry Pi

Programming Models

Software models for programming GPUs

Questions

  • How do transfers across the bus (usually PCI-e) work?

  • How does memory management work?

    • How is the memory map maintained? There must be some sort of MMU to provide memory protections. How does it work?
  • What is the lifecycle of a kernel in detail?

    • It must be something like
      1. Copy kernel to GPU memory
      2. Start executing kernel (how?)
      3. Signal that the kernel is finished
  • Examples on visualizing the execution behavior of kernels

About

Documentation on how GPU's work internally and communicate externally

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published