title |
---|
Publications |
We have published a number of research papers on Futhark, and hopefully more will follow in the future. They are presented below in reverse chronological order.
-
AUTOMAP: Inferring Rank-Polymorphic Function Applications with Integer Linear Programming. Robert Schenck, Nikolaj Hey Hinnerskov, Troels Henriksen, Magnus Madsen, Martin Elsman. OOPSLA 24 (pdf, blog).
-
Reverse-Mode AD of Multi-Reduce and Scan in Futhark. Lotte M. Bruun, Ulrik S. Larsen, Nikolaj H. Hinnerskov and Cosmin E. Oancea. IFL 23 (publication rights licensed to ACM, doi, author pdf copy, bib)
-
A Comparison of OpenCL, CUDA, and HIP as Compilation Targets for a Functional Array Language. Troels Henriksen. FProPer 2024 (pdf, blog).
-
Static and Dynamic Analyses for Efficient GPU Execution. Philip Munksgaard. PhD thesis, 2023. (pdf, bib).
-
Shape-Constrained Array Programming with Size-Dependent Types. Lubin Bailly, Troels Henriksen, Martin Elsman. FHPNC 23 (pdf, bib).
-
Compiling a Functional Array Language with Non-Semantic Memory Information. Philip Munksgaard, Cosmin Oancea, Troels Henriksen. IFL 22 (pdf, bib).
-
Memory Optimizations in an Array Language. Philip Munksgaard, Troels Henriksen, Ponnuswamy Sadayappan, Cosmin Oancea. SC 22 (pdf, bib, artifact, blog (1), blog (2))
-
AD for an Array Language with Nested Parallelism. Robert Schenck, Ola Rønning, Troels Henriksen, Cosmin Oancea. SC 22 (pdf, bib, artifact)
-
Dataset Sensitive Autotuning of Multi-Versioned Code based on Monotonic Properties. Philip Munksgaard, Svend Lund Breddam, Troels Henriksen, Fabian Cristian Gieseke, Cosmin Oancea. TFP '21 (pdf, bib, best paper award).
-
Towards Size-Dependent Types for Array programming. Troels Henriksen, Martin Elsman. ARRAY '21 (pdf, bib).
-
Compiling Generalized Histograms for GPU. Troels Henriksen, Sune Hellfritzsch, Ponnuswamy Sadayappan, Cosmin Oancea. SC '20 (pdf, bib, artifact).
-
Bounds Checking on GPU. Troels Henriksen. HLPP '20 (pdf, bib).
-
Compositional Deep Learning in Futhark. Duc Minh Tran, Troels Henriksen, Martin Elsman. FHPNC '19 (pdf, bib, code).
-
Data-Parallel Flattening by Expansion. Martin Elsman, Troels Henriksen, Niels G. W. Serup. ARRAY '19 (pdf, bib).
-
Incremental Flattening for Nested Data Parallelism. Troels Henriksen, Frederik Thorøe, Martin Elsman, Cosmin Oancea. PPOPP '19 (pdf, bib, artifact, blog).
-
High-Performance Defunctionalisation in Futhark. Anders Kiel Hovgaard, Troels Henriksen, Martin Elsman. TFP '18 (pdf, bib)
-
Static Interpretation of Higher-Order Modules in Futhark. Martin Elsman, Troels Henriksen, Danil Annenkov, Cosmin Oancea. ICFP '18 (pdf, bib)
-
Modular Acceleration: Tricky Cases of Functional High-Performance Computing. Troels Henriksen, Martin Elsman, Cosmin Oancea. FHPC '18 (pdf, bib).
-
Design and Implementation of the Futhark Programming Language. Troels Henriksen. PhD thesis (pdf, bib).
-
Strategies for Regular Segmented Reductions on GPU. Rasmus Wriedt Larsen, Troels Henriksen. FHPC '17 (pdf, bib).
-
Futhark: Purely Functional GPU-Programming with Nested Parallelism and In-Place Array Updates. Troels Henriksen, Niels G. W Serup, Martin Elsman, Fritz Henglein, Cosmin Oancea. PLDI '17 (pdf, bib, artifact).
-
APL on GPUs - A TAIL from the Past, Scribbled in Futhark. Troels Henriksen, Martin Dybdal, Henrik Urms, Anna Sofie Kiehn, Danil Gavin, Hjalte Abelskov, Martin Elsman, Cosmin Oancea. FHPC '16 (pdf, bib, artifact).
-
Design and GPGPU Performance of Futhark's Redomap Construct. Troels Henriksen, Ken Friis Larsen, Cosmin Oancea. ARRAY '16 (pdf, bib, artifact)
-
Size Slicing - A Hybrid Approach to Size Inference in Futhark. Troels Henriksen, Martin Elsman, Cosmin Oancea. FHPC '14 (pdf, bib).
-
Bounds Checking: An Instance of Hybrid Analysis. Troels Henriksen, Cosmin Oancea. ARRAY '14 (pdf, bib)
-
A T2 Graph-Reduction Approach To Fusion. Troels Henriksen, Cosmin Oancea. FHPC '13 (pdf, bib)
These papers are not about Futhark as a language or compiler, but use it to build or show something.
- Gusten Isfeldt, Fredrik Lundell, Jakob Wohlert: Interaction of complex particles: A framework for the rapid and accurate approximation of pair potentials using neural networks. Physical Review E 110, 2024. (pdf, bib)
- Wojciech Michal Pawlak: Accelerated Financial Algorithms Derivative Pricing and Risk Management Applications. PhD thesis. May 2021 (pdf, bib).
- Cosmin Oancea, Ties Robroek, Fabian Gieseke: Approximate Nearest-Neighbour Fields via Massively-Parallel Propagation-Assisted K-D Trees. MLDB'20. (pdf, bib).
- Fabian Geseke, Sabina Rosca, Troels Henriksen, Jan Verbesselt, Cosmin Oancea: Massively-Parallel Change Detection for Satellite Time Series Data with Missing Values. ICDE'20. (pdf, bib)
- Wojciech Michal Pawlak, Martin Elsman, Cosmin Eugen Oancea: A Functional Approach to Accelerating Monte Carlo based American Option Pricing. IFL'19. (pdf, bib)
-
Kristoffer August Kortbæk and Rune Ejnar Bang Lejbølle: Utilizing Tensor Cores in Futhark, MSc thesis, DIKU, January 2025. (pdf)
-
Therese Lyngby, William Henrich Due: The Worlds Best Futhark Formatter, MSc project, DIKU, November 2024. (pdf)
-
Marcus Jensen: Not-Quite-Supersonic AD: Implementing forward and reverse mode automatic differentiation in the Futhark interpreter, BSc thesis, DIKU, August 2024 (pdf)
-
Anders L. Holst: Optimizing Tensor Contractions for GPU Execution in Futhark, MSc thesis, DIKU, June 2024 (pdf)
-
Thorbjørn Bülow Bringgaard: Efficient Big Integer Arithmetic Using GPGPU, MSc thesis, DIKU, June 2024 (pdf)
-
Sebastian Paarmann: A WebGPU backend for Futhark, MSc thesis, DIKU, June 2024 (pdf)
-
Victor Alexander Schmidt: Data-parallel Construction of Interval Trees and Range Trees, BSc thesis, DIKU, June 2024 (pdf)
-
Christian Påbøl and Anders Holst: Two optimizations to GPU code generation in the Futhark compiler, MSc project, DIKU, February 2024 (pdf)
-
Christian Marslev and Jonas Grønborg: Efficient Sequentialization of Parallelism, MSc thesis, DIKU, February 2024 (pdf)
-
Bjarke Pedersen, Oscar Nelin: General Array Locality Optimization by Permutation (GALOP), MSc thesis, DIKU, January 2024 (pdf)
-
Nina Andrup Pedersen, Jakob Schneider Villumsen: ZKBoo on the GPU: Better soundness errors for a little extra, BSc thesis, AU, July 2023 (pdf).
-
Lars Jensen, Chris Oliver Paulsen, Julian Jørgensen Teule: Translating Concepts of the Futhark Programming Language into an Extended π-Calculus, MSc thesis, AAU, June 2023. (pdf)
-
William Henrich Due: Parallel Parsing using Futhark, BSc thesis, DIKU, June 2023 (pdf)
-
Rune Nielsen: Implementation of Graph Algorithms in Futhark, BSc thesis, DIKU, June 2023 (pdf)
-
Cornelius Sevald-Krause: Flattening Irregular Nested Parallelism in Futhark, BSc thesis, DIKU, June 2023 (pdf)
-
Kasper Unn Weihe: Convex Optimization and Parallel Computing for Portfolio Optimization, MSc thesis, DIKU, June 2023. (pdf)
-
Tjørn Lynghus: Data-parallel Implementation of Randomized Approximate Nearest Neighbours, BSc thesis, DIKU, June 2023. (pdf)
-
Jóhann Utne and Henriette Naledi Winther Hansen: Solving TSP on the GPU based on heuristic algorithms, BSc thesis, DIKU, June 2023. (pdf)
-
Peter Kanstrup Larsen: Application of Probabilistic Machine Learning Methods for Protein Generation, MSc thesis, DIKU, June 2023. (pdf)
-
Emil Vilandt Rasmussen: Sparse Approximate Inverse - A Massively Parallel Implementation, BSc thesis, DIKU, June 2023. (pdf)
-
Caroline Amalie Kierkegaard and Mikkel Willen: Parallel Implementation of the SPAI algorithm, BSc thesis, DIKU, June 2023. (pdf)
-
Peter Kanstrup Larsen: Benchmarking Futhark-AD using MINPACK-2, 7.5 ECTS Project, DIKU, University of Copenhagen, January 2023. (pdf)
-
Søren Brix: Reverse mode automatic differentiation of histograms in Futhark, MSc thesis, DIKU, University of Copenhagen, July 2022. (pdf)
-
Gilli Reynstind Fjallstein: Extending automatic differentiation for an array language with nested parallelism, Msc thesis, DIKU, University of Copenhagen, July 2022. (pdf)
-
Lotte Bruun and Ulrik Larsen: Reverse Automatic Differentiation in Futhark, MSc thesis, DIKU, University of Copenhagen, July 2022. (pdf)
-
Philip Jon Børgesen: Reducing Synchronous GPU Memory Transfers. MSc thesis. Department of Computer Science, University of Copenhagen. July 2022. (pdf)
-
W. Pema N. H. Malling, Louis Marott Normann, Oliver B. K. Petersen, Kristoffer A. Kortbæk: Extending Futhark’s multicore C backend to utilize SIMD using ISPC. BSc thesis. Department of Computer Science, University of Copenhagen. June 2022. (pdf)
-
Aleksander Junge: Reactive Benchmarking. BSc thesis. Department of Computer Science, University of Copenhagen. June 2022. (pdf)
-
Amar Topalovic, Walter Restelli-Nielsen, Kristian Olesen: Multiple-precision Integer Arithmetic. DPP final project. January 2022. (pdf)
-
Andreas Nicolaisen: Using Automatic Differentiation to Find Gradients for Recurrent Neural Networks in Futhark. MSc thesis. Department of Computer Science, University of Copenhagen. January 2022. (pdf)
-
Kristian Knudsen Olesen: Extracting Certified Futhark Code from Coq. BSc thesis. Department of Computer Science, University of Copenhagen. November 2021. (pdf)
-
Till Severin Grenzdörffer: Unsupervised Clustering of Sparse Data in Futhark. MSc thesis. Department of Computer Science, University of Copenhagen. September 2021. (pdf)
-
Baptiste Coudray: MPI-Futhark: Distributed High-Performance Computing For People. BSc thesis. HEPIA. August 2021. (pdf)
-
Philip Rajani Lassen: WebAssembly Backends for Futhark. MSc thesis. Department of Computer Science, University of Copenhagen. July 2021. (pdf)
-
Nikolaj Hey Hinnerskov: Massively Parallel Selection of Stable History Period in Change Detection for Time Series Data with Missing Values. BSc thesis. Department of Computer Science, University of Copenhagen. June 2021. (pdf)
-
Kristian Bøjer Andreasen: Data-Parallel Coherency Sensitive Hashing for Approximate Nearest Neighbour Fields. MSc thesis. Department of Computer Science, University of Copenhagen. June 2021. (pdf)
-
Christian Charlie Virt, Jonathan Wraa-Hansen: Optimisation and GPU code generation of Stencils for Futhark. June 2021. (pdf).
-
Maya Saietz: Code Generation for Stencils in Futhark. June 2021. (pdf).
-
Morten Tychsen Clausen: Regular Segmented Single-pass Scan in Futhark. June 2021. (pdf)
-
Kasper Unn Weihe, Kristian Quirin Hansen, Peter Kanstrup Larsen: Linear Algebra in Futhark. Department of Computer Science, University of Copenhagen. February 2021. (pdf)
-
Till Severin Grenzdörffer: Accelerating Ocean Modelling: Adressing performance bottlenecks of the ocean modelling framework Veros. MSc project, Department of Computer Science, University of Copenhagen. January 2021. (pdf)
-
Kristian Høi: Parallel implementations of machine learning algorithms: Gradient boosted decision trees. MSc Thesis, Department of Computer Science, University of Copenhagen. January 2021. (pdf)
-
Andreas Nicolaisen, Marco Aslak Persson: Implementing Single-Pass Scan in the Futhark Compiler. MSc project. Department of Computer Science, University of Copenhagen. November 2020. (pdf)
-
Duc Minh Tran: Multicore backend for Futhark. MSc Thesis. Department of Computer Science, University of Copenhagen. September 2020. (pdf)
-
Emil Un Weihe: Support Vector Machines in Futhark. MSc thesis. Computer Science, University of Copenhagen. September 2020. (pdf)
-
Michaël El Kharroubi: Highly parallel algorithms on GPU with Futhark: Practical case with block ciphers. BSc thesis. HEPIA. August 2020. (pdf)
-
Johan Johansson, Ari von Nordenskjöld: Ray Tracing for Sensor Simulation using Parallel Functional Programming. MSc thesis. Chalmers University of Technology. June 2020. (pdf)
-
Ulrik Elmelund Petersen: Optimizing the kNN algorithm for GPGPUs in Futhark. BSc thesis. Computer Science, University of Copenhagen. June 2020. (pdf)
-
Mathias Friis Rasmussen, Jonas Kristensen, Jens Nissen-Juul Sørensen, Christian Dybdahl Troelsen: FutSpace - A Parallelizable Implementation of the Voxel Space Rendering Algorithm. BSc thesis. Computer Science, University of Copenhagen. June 2020. (pdf)
-
Ulrik Stuhr Larsen, Lotte Maria Bruun: A Language for Parallel Generation of L-Systems. BSc thesis. Computer Science, University of Copenhagen. June 2020. (pdf)
-
Æmilie Cholewa-Madsen, Anders Lietzen Holst: Teaching the Futhark compiler block and register tiled matrix multiplication. BSc thesis. Computer Science, University of Copenhagen. June 2020. (pdf)
-
Robert Schenck: Sum types in Futhark. MSc thesis. Computer Science, University of Copenhagen. December 2019. (pdf)
-
Henrik Urms, Anna Sofie Kiehn: Refinement types in Futhark. MSc thesis. Computer Science, University of Copenhagen. September 2019. (pdf)
-
Steffen Holst Larsen: Multi-GPU Futhark Using Parallel Streams. MSc thesis. Department of Computer Science, University of Copenhagen. September 2019. (pdf)
-
Svend Lund Breddam: Futhark Autotuners for Incremental Flattening. MSc thesis. Department of Computer Science, University of Copenhagen. September 2019. (pdf)
-
Steffen Holst Larsen: Futhark Vulkan Backend. MSc project. Department of Computer Science, University of Copenhagen. January 2019. (pdf)
-
Jakob Stokholm Bertelsen: Implementing a CUDA Backend for Futhark. BSc thesis. Department of Computer Science, University of Copenhagen. January 2019. (pdf)
-
Sune Hellfritzsch: Efficient Histogram Computation on GPGPUs. MSc thesis. Department of Computer Science, University of Copenhagen. October 2018. (pdf)
-
Duc Minh Tran: Implementation of a deep learning library in Futhark. BSc Thesis. Department of Computer Science, University of Copenhagen. August 2018. (pdf)
-
Mikkel Storgaard Knudsen: FShark: Futhark programming in FSharp. MSc thesis. Department of Computer Science, University of Copenhagen. August 2018. (pdf)
-
Marek Hlava and Martin Metaksov: Accelerated Interest Rate Option Pricing using Trinomial Trees. MSc thesis. Department of Computer Science, University of Copenhagen. August 2018. (pdf)
-
Kasper Abildtrup Hansen: FFT Generator in Futhark: A prototype Futhark library using FFTW technniques. MSc project. Department of Computer Science, University of Copenhagen. June 2018. (pdf)
-
Frederik Thorøe: Auto-tuning of threshold-parameters in Futhark. BSc thesis. Department of Computer Science, University of Copenhagen. June 2018. (pdf)
-
Mette Marie Kowalski: Designing and Accelerating a Generic FFT Library in Futhark. BSc thesis. Department of Computer Science, University of Copenhagen. June 2018. (pdf)
-
Anders Kiel Hovgaard: Higher-order functions for a high-performance programming language for GPUs. MSc project. Department of Computer Science, University of Copenhagen. May 2018. (pdf)
-
Niels G. W. Serup: Memory Block Merging in Futhark. MSc thesis. Department of Computer Science, University of Copenhagen. November 2017. (pdf)
-
Rasmus Wriedt Larsen: Generating Efficient Code for Futhark's Segmented Redomap. MSc thesis. Department of Computer Science, University of Copenhagen. March 2017. (pdf)
-
Niels G. W. Serup: Extending Futhark with a write construct. MSc project. Department of Computer Science, University of Copenhagen. June 2016. (pdf).