Parallel-by-construction Tree Manipulation with APL (Part 1)
summary
Claims a compiler that is data-parallel-by-construction and can self-host on the GPU, implemented in APL and tested in a Codyfunds workspace; it represents trees as a depth vector then converts to parent and left-sibling vectors and uses a fixed‑point, SIMD‑style parent-walk to find nearest ancestors. Concrete passes include function lifting and expression flattening, a pretty-printer, and a small example AST of 14 nodes. Tooling is Dyalog/tryAPL; a Dyalog bug sometimes hard-crashes the demo but the workspace is published for reproduction.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 4:20Creating the tree
- 11:25Drawing the tree
- 15:40Running the compiler pass
- 25:00Parse Tree
- 38:15Tree Walking
- 39:40Parallel Tree Manipulation
- 42:23equivalence operation
- 47:00reorder nodes
- 48:45code
related talks
58mFunctional Array Funhouse Intensive - Part 2 of 5
02h 50mFunctional Array Funhouse Intensive - Part 3 of 5
32mCompilation of Dynamic Sparse Tensor Algebra
01h 47mAgda from Nothing: Order in the Types
37mDynamic programming at ease - with Grammars, Algebras, Products
20mData-oriented Design for Differentiable, Probabilistic Programming
30mData-Parallel Flattening by Expansion
27mConvolutional Neural Networks in APL
