DOTS//CORE local · not synced

m03 · Burst · checkpoint · 6 min

Checkpoint — Burst, SIMD, aliasing

loading…0 of 8 answered
  1. 01why

    Why does Burst compile only a subset of C# (blittable structs, native containers, no managed references) rather than the whole language?

  2. 02how

    You mark a system [BurstCompile] and it runs several times faster with no other change. Where did the speed come from?

  3. 03how

    Vectorizing a numeric loop over 10,000 entities changes its arithmetic instruction count how, at 8-wide?

  4. 04why

    Auto-vectorization of `b[i] = a[i] * 2` requires the compiler to load 8 a-values, multiply, store 8 b-values. Why does the SoA chunk layout make this legal where an array-of-structs layout doesn't?

  5. 05how

    Which of these, left in a hot loop, silently prevents vectorization (loop still runs, just scalar)?

  6. 06why

    The core question aliasing answers is 'can these two pointers refer to overlapping memory?' Why does the answer decide whether a loop can vectorize?

  7. 07why

    You pass the same NativeArray as both source and destination into a Burst routine that assumed they were disjoint (no-alias default). What happens?

  8. 08why

    Why is [ReadOnly] on a job's input container best understood as an anti-aliasing promise rather than mere documentation?

your notes

stored in this browser · syncs when you sign in

m03.l04