Sandwood: Runtime Adaptable Probabilistic Programming for Java
summary
Sandwood is an open‑source Java‑like probabilistic programming language, compiler and runtime that compiles models to Java classes whose instances can switch execution backends at runtime and copy state between them. It runs single‑threaded, on ForkJoin and on Oracle’s Kalisto runtime, with plans for Java Vector API and GPU via ARA. It handles array‑index dependent DAGs by building traces with scope constructors that generate guarded nested loops and then optimizes them down; example workflow records MAP results after 2,000 sampling steps.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 2:28Design goals
- 3:31Sandwood model structure
- 5:36Using Sandwood in practice
- 7:01Model construction challenges
- 11:36Optimizing relationships
- 13:21Sampling distributions
- 13:42Conclusion and future work
- 14:08Q&A








