ECOOP 2025
Mon 30 June - Fri 4 July 2025 Bergen, Norway
Wed 2 Jul 2025 12:00 - 12:30 at M125 - ICOOOLPS Session 1 Chair(s): Paulo Ferreira

Cellato is a tool with embedded DSL in C++ that leverages template meta-programming to define and execute cellular automata (CA) via concise type-level expressions that are specialized into efficient kernels at compile time. Its modular architecture decouples the Algorithm (rules), Evaluator (per-cell update), Layout (memory representation), and Traverser (grid iterator), allowing users to mix and match components without altering rule definitions. We demonstrate Cellato on Conway’s Game of Life, Forest Fire, Wireworld, and the Greenberg-Hastings excitable medium, which cover binary as well as multi-state models and Moore to von Neumann neighborhoods. We experimented with three memory layouts (standard arrays, bit-packed arrays, and bit-planes) for transparent bit-level encodings and data-parallel optimizations. Targeting both CPU and GPU back-ends, Cellato delivers performance on par with hand-tuned code, while its zero-overhead abstractions, flexible scheduling, and portable optimizations provide a robust foundation for high-performance CA computations.

Wed 2 Jul

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

10:45 - 12:30
ICOOOLPS Session 1ICOOOLPS at M125
Chair(s): Paulo Ferreira University of Oslo
10:45
15m
Day opening
Opening Remarks
ICOOOLPS
Paulo Ferreira University of Oslo, Andrea Rosà USI Lugano
11:00
60m
Talk
Invited Talk: Implementing Object Tracking in the Emerald Object-Oriented Language
ICOOOLPS
Eric Jul University of Oslo
12:00
30m
Full-paper
Cellato: a DSL for Cellular Automata based on C++ Template Meta-programming
ICOOOLPS
Matyáš Brabec Charles University, Jiří Klepl Charles University, Martin Kruliš Charles University
Pre-print