falkaer / the-guide

Educational material for teaching the random bag of tricks needed to program real-time systems.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Don't Panic

Hello There!

You've found a guide for learning about all the stuff needed to either program or reason about data oriented and real time systems. It will help you with things like what memory allocations are, why using computational graphs to program neural networks are a good idea, different concepts in parallelization of code, what types are, how to profile and optimize code and how to create real-time systems. All running on your laptop!

To make things more complicated, because everyone loves complicated, there are some sections which are meant to tailor to you, the reader! These specialization sections could for example have one set of tasks for people interested in compute graphics and a different set of tasks for people interested in deep learning. These sections are indicated by this DNA emoji - 🧬. You will find additional sections marked with πŸ‘¨πŸΌβ€πŸ’». These sections are meant as exercises or hand-ins for a course or if you want to explore the concepts in practice.

A course based on this material can be found here.

The material comprising the guide is divided into 7 modules.

  • Intro to the course, Rust and wgpu.
  • Memory hierarchies and computational graphs
  • Concurrency
  • Types, energy usage, bit tricks and compression
  • Aspects of real time systems and additional components to use for your own projects
  • Optimization with tips on profiling
  • Project ideas for trying out the various tools you have learned throughout the material

So let's get started!

🌌 Queue Eric Idle singing while wearing a white wig 🌌

About

Educational material for teaching the random bag of tricks needed to program real-time systems.

License:Apache License 2.0


Languages

Language:Rust 95.3%Language:WGSL 3.7%Language:Python 1.1%