Skip to main content

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, until conditions, 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.

TopicWhat it teaches
Vector-step loops, predication and memory iteratorsLoops 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 budgetTwo views of one block, memory banks, reading the budget from bench.map, and the memory-limit errors
Locks, until conditions, rings and timer tasksuntil control and until empty, a lock between parallel arms, a ring as a sink, and a timer task