ICFP 2025
Sun 12 - Sat 18 October 2025 Singapore
co-located with ICFP/SPLASH 2025
Tue 14 Oct 2025 11:15 - 11:40 at Orchid West - Clever Compilation Chair(s): John Reppy

In this paper we demonstrate a technique for developing high performance applications
with strong correctness guarantees. Using a theorem prover, we derive a high-level
specification of the application that includes correctness invariants of our choice.
After that, within the same theorem prover, we implement an extraction of the
specified application into a high-performance language of our choice. Concretely,
we are using Agda to specify a framework for automatic differentiation (reverse mode)
that is focused on index-safe tensors. This framework comes
with an optimiser for tensor expressions and the ability to translate these
expressions into Futhark. We specify a canonical convolutional neural network
within the proposed framework, compute the derivatives needed for the training
phase and then demonstrate that the generated code approaches the performance of TensorFlow
code when running on a GPU.

Tue 14 Oct

Displayed time zone: Perth change

10:50 - 12:05
Clever CompilationJFP First Papers / ICFP Papers at Orchid West
Chair(s): John Reppy University of Chicago
10:50
25m
Talk
Compiling with Generating Functions
ICFP Papers
Jianlin Li University of Waterloo, Yizhou Zhang University of Waterloo
DOI
11:15
25m
Talk
Correctness Meets Performance: From Agda to FutharkRemote
ICFP Papers
Artjoms Šinkarovs University of Southampton, Troels Henriksen University of Copenhagen
DOI
11:40
25m
Paper
Domain-specific tensor languages
JFP First Papers
Jean-Philippe Bernardy University of Gothenburg, Sweden, Patrik Jansson Chalmers University of Technology and University of Gothenbrug
DOI