What's Going On?

When I started my PhD in 2014, it was fairly uncommon for programmers to use their Graphics Processing Unit (GPU) for any computation beyond what was necessary for gaming or some graphical applications. The world has changed since then. Nowadays, it feels like the GPU is the most important piece of hardware on any computational device (supercomputers, desktops, phones, etc). Computer Generated Imagery (CGI) for movies and games have become almost photorealistic, and all of the necessary computation happens on the GPU. The fastest supercomputers in the world run GPUs. Machine learning models are trained using GPUs. Everyone needs the GPU for something.

At the same time, there are very few good learning resources available to teach beginner programmers how to properly use their hardware. So that's what this book is. It is a gentle introduction to most of the programming concepts necessary to understand GPU computing through meaningful, real-world applications.

All of the content on this site was created by James Schloss (Leios). The code is released under the MIT license, which means you can use it for virtually any purpose as long as you attribute me and you let everyone know that my code is freely available under the MIT license for use. The text is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC-BY-NC-SA). This means that you are free to read, copy, modify, and remix any of the text here with a few key restrictions. Namely, the new (derivative) work:

  1. Cannot make money.
  2. Must attribute me (James Schloss or Leios).
  3. Must be available for free with the same Creative Commons license. In other words, derivatives of derivatives of this work cannot make money and also must attribute me (and any additional authors).

if this book is useful for you, please consider purchasing it when it is officially released. If you would like to purchase the book, please let me know here. Otherwise, please let me know if there are any typos, errors, or jank that you find along the way.

Thanks for reading and I hope the book helps you in some way!

Welcome to the world of General Purpose Graphics Processing Unit (GPGPU) computation.

Dr. James Schloss (Leios)

CC BY NC SA