Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Intrinsics - Low-Level Engine Development with Burst - Unite Copenhagen

Unity via YouTube

Overview

Limited-Time Offer: Up to 75% Off Coursera Plus!
7000+ certificate courses from Google, Microsoft, IBM, and many more.
The course teaches learners how to expand the scope of the Burst Compiler to enable expressing demanding engine and gameplay problems in HPC# using direct CPU intrinsics. The session covers reasoning, use cases, implementation challenges, debugging, and performance comparisons to C++ code. Students will learn about SIMD, cache bandwidth, vectorization, explicit SIMD with Unity.Mathematics, Burst Intrinsics, and guidelines for SIMD with Burst. The teaching method includes theoretical explanations, analogies, examples, disassembly comparisons, and API usage demonstrations. This course is intended for developers interested in low-level engine development and performance optimization in Unity.

Syllabus

Intro
Who this talk is for
Talk Contents
What is SIMD?
SIMD Analogy: Chopping Veggies
Why is SIMD important?
Dedicated Hardware: Skylake Example
Cache Bandwidth
The vector fallacy
Quick smell test for float SIMD-ness (x86)
Example: 3D dot products (back to basics)
Example: 3D dot products (SIMD)
SIMD mindset, contd.
So how do you get SIMD code?
LLVM's auto vectorizer
Example of successful vectorization
Explicit SIMD with Unity.Mathematics
Explicit Unity.Mathematics SIMD Example
The need for typeless SIMD
Data reinterpretation
Instruction selection
Leveraging data tricks
What we're working on
Typeless?
Do what the hardware does
API Usage Example
API Extract
A more complete example
Reference version
Reference disassembly
Let's lose the branches
Branch-free disassembly
Explicit SIMD with Unity Mathematics
Explicit Math version disassembly
Explicit SIMD with Burst Intrinsics
Explicit SIMD Disassembly
Guidelines for SIMD with Burst
What about System.Numerics?
Summary
Thank you!

Taught by

Unity

Reviews

Start your review of Intrinsics - Low-Level Engine Development with Burst - Unite Copenhagen

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.