We are currently in the process of creating new documentation. This should be an awesome update that will hopefully be beginner friendly while still short enough that GPGPU experts will not get bored.
During this transitional period all old documentation will be available still. You can find it here or at the bottom of this page under the table of contents for the new tutorial.
The following is the table of contents for the new tutorial:
This series introduces how a GPU works and what ILGPU does. If you have programmed with CUDA or OpenCL before you can probably skip 01 and 02.
00 Setting up ILGPU (ILGPU version 0.10.1)
01 A GPU is not a CPU (ILGPU version 0.10.1)
This page will provide a quick rundown the basics of how kernels (think GPU programs) run.
02 Memory and bandwidth and threads. Oh my!
This will hopefully give you a better understanding of how memory works in hardware and the performance implications.
This series is meant to be a brief overview of ILGPU and how to use it. It assumes you have at least a little knowledge of how Cuda or OpenCL work. If you need a primer look to something like this for Cuda or this for OpenCL
01 Context and Accelerators (ILGPU version 0.10.1)
This tutorial covers the creating the Context and Accelerator objects which setup ILGPU for use. It's mostly boiler plate and does no computation but it does print info about your GPU if you have one. There is some advice about ILGPU in here that makes it worth the quick read.
02 MemoryBuffers and ArrayViews (ILGPU version 0.10.1)
This tutorial covers the basics for Host / Device memory management.
03 Kernels and Simple Programs (ILGPU version 0.10.1)
This is where it all comes together. This covers actual code, on the actual GPU (or the CPU if you are testing / dont have a GPU).
04 Structs and the N-body problem (ILGPU version 0.10.1)
This tutorial actually does something! We use computing the N-body problem as a sample of how to better manage Host / Device memory.
05 Algorithms 1 Math
Well at least I think. This is where I will put ILGPUView bitmap shader things I (or other people if they want to) eventually write. Below are the few I have planned / think would be easy.
- Ray Tracing in One Weekend based raytracer
- Cloud Simulation
- 2D Physics Simulation
- Other things I see on shadertoy
This is the old Table of Contents: