Single-PE Programming Techniques
These topics go deeper into how one PE runs its code:
- loops with several statements as hardware vector-step loops;
- where data lives in memory, and how much fits;
- the finer controls over concurrent activities: locks,
untilconditions, rings and timer tasks.
Each topic is a complete program, and each opens with the lessons and topics it needs. Read a topic once you have read everything on its Needs line.
| Topic | What it teaches |
|---|---|
| Vector-step loops, predication and memory iterators | Loops with several statements as hardware loops, tails, predicated packing with a cursor, and iterators that keep their place |
Memory: placing data, address(), and the memory budget | Two views of one block, memory banks, reading the budget from bench.map, and the memory-limit errors |
Locks, until conditions, rings and timer tasks | until control and until empty, a lock between parallel arms, a ring as a sink, and a timer task |