Functional Array Funhouse Intensive - Part 3 of 5
summary
Claim: Iverson-style array programming shrinks codebases and speeds execution by an order of magnitude, demonstrated by a compiled APL-like system that targets GPUs and CPUs via an ArrayFire backend and even runs the compiler itself on accelerator hardware. Concrete builds include Game of Life, Mandelbrot and image-processing pipelines, plus a parser/compiler (defunds style) that compiles array expressions to parallel kernels. Performance and portability numbers are emphasized; examples run and animate successfully on CPU/GPU.
AI-written summary · about
chapters (28)
- 0:00Start
- 1:11Power Operator
- 6:25Cap Conditional Application
- 8:02Operator Syntax
- 17:20Why Apl Exists
- 25:31Transparency versus Abstraction
- 31:00Idioms versus Libraries
- 32:16Data versus Control Flow
- 40:05Image Processing
- 40:59Inner Product
- 44:44Modified Assignments
- 1:04:22Creating a Pattern
- 1:05:49Image Loader
- 1:17:13What a Functional Programming Mean
- 1:18:12Recursion
- 1:30:043d Plots
- 1:31:58Factorial
- 1:42:21Parser
- 1:42:43Structured Editing
- 1:44:09Peg Grammar
- 1:45:17Compiler
- 1:46:22Code Duplication
- 1:48:03Syntax
- 2:07:21Stack Based Allocation
- 2:08:42Asymptotic Complexity
- 2:28:37Xml Demo
- 2:30:37Direct Development
- 2:32:35Code Defense Compiler
related talks
01h 07mParallel-by-construction Tree Manipulation with APL (Part 2)
32mImmutable Arrays Help Mutating Arrays More Efficiently
43muarray - Efficient and Generic Array Computation
01h 17mModern APL in the Real World: Theory, Practice, Case Studies
15mCompilation of Sparse Array Programming Models
24mAccelerating Haskell GPGPU Programming with Haskell
55mParallel-by-construction Tree Manipulation with APL (Part 1)
23mPattern-Based Optimization (...)
