ICFP 2023
Mon 4 - Sat 9 September 2023 Seattle, Washington, United States

The ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing aims to bring together researchers and practitioners exploring or employing the use of functional or declarative programming languages or techniques in scientific computing, and specifically in the domains of high-performance computing and numerical programming.

The purpose of the meeting is to enable sharing of results, experiences, and novel ideas about how high-level, declarative techniques can help make high-performance, distributed/parallel, or numerically-intensive code dealing with computationally challenging problems easier to write, read, maintain, or portable to new architectures. Areas of interest include, but are not limited to, relevant compiler technologies, runtime systems (including fault tolerance mechanisms and those supporting distributed or parallel computation), domain-specific languages (embedded or otherwise), type systems, algebraic differentiation, formal methods, and libraries (e.g. for exact or interval arithmetic).

This event, now in its third instance, is originally a merger of two workshops that took place during previous editions of ICFP : FHPC (Functional High-Performance Computing) and NPFL (Numerical Programming in Functional Languages), and as such it aims to foster the exchange of ideas between the two communities.

Last time, FHPNC 2021 was held as an online only event, and we are every much looking forward to meeting in person this year!

Plenary
You're viewing the program in a time zone which is different from your device's time zone change time zone

Mon 4 Sep

Displayed time zone: Pacific Time (US & Canada) change

09:00 - 10:30
FHPNC Talk #1FHPNC at Olympic
Chair(s): Gabriele Keller Utrecht University
09:00
45m
Keynote
Programming the Groq TSP Architecture in Haskell with Haste
FHPNC
09:45
45m
Talk
Rank-Polymorphism for Shape-Guided Blocking
FHPNC
Artjoms Šinkarovs Heriot-Watt University, UK, Thomas Koopman Radboud University, Sven-Bodo Scholz Heriot-Watt University
DOI
10:30 - 11:00
11:00 - 12:30
FHPNC Talk #2FHPNC at Olympic
Chair(s): Sam Westrick Carnegie Mellon University
11:00
45m
Keynote
Fast Deep Learning with Categories
FHPNC
Michael Sperber Active Group GmbH
11:45
45m
Talk
Efficient GPU Implementation of Affine Index Permutations on Arrays
FHPNC
Mathis Bouverot-Dupuis École normale supérieure Paris-Saclay, Mary Sheeran Chalmers | University of Gothenburg
DOI
14:00 - 15:30
FHPNC Talks #3FHPNC at Olympic
Chair(s): Mary Sheeran Chalmers
14:00
45m
Keynote
Performance vs. Correctness When Writing Low-Level HPC/Tensor/Array Code
FHPNC
Gilbert Louis Bernstein Stanford University, USA
14:45
45m
Talk
The best multicore-parallelization refactoring you've never heard of
FHPNC
Mike Rainey Carnegie Mellon University
15:30 - 16:00
16:00 - 17:30
Invited talk & DiscussionFHPNC at Olympic
16:00
45m
Talk
Shape-Constrained Array Programming with Size-Dependent Types
FHPNC
Lubin Bailly École normale supérieure, Troels Henriksen University of Copenhagen, Denmark, Martin Elsman University of Copenhagen, Denmark
DOI
16:45
45m
Panel
Community Update and Discussion
FHPNC

Call for Papers

Satellite event of the 28th ACM SIGPLAN International Conference on Functional Programming (ICFP 2023) held in the week of the 4th of September in Seattle, Washington, United States.

Paper/abstract deadline Wednesday, May 31st.

The ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing aims to bring together researchers and practitioners exploring or employing the use of functional or declarative programming languages or techniques in scientific computing, and specifically in the domains of high-performance computing and numerical programming.

Scope

The ACM SIGPLAN International Workshop on Functional High-Performance and Numerical Computing aims to bring together researchers and practitioners exploring or employing the use of functional or declarative programming languages or techniques in scientific computing, and specifically in the domains of high-performance computing and numerical programming.

The purpose of the meeting is to enable sharing of results, experiences, and novel ideas about how high-level, declarative techniques can help make high-performance, distributed/parallel, or numerically-intensive code dealing with computationally challenging problems easier to write, read, maintain, or portable to new hardware architectures. Areas of interest include, but are not limited to:

  • relevant compiler technologies

  • runtime systems (including fault tolerance mechanisms and those supporting distributed or parallel computation)

  • domain-specific languages (embedded or standalone)

  • type systems

  • formal methods

  • software libraries (e.g. for exact or interval arithmetic).

Submission details

Submissions should fall into one of two categories:

  • Regular research papers (up to 12 pages)
  • Extended abstracts (1 - 2 pages)

The bibliography will not be counted against the page limits for either category.

Regular research papers are expected to present novel and interesting research results, and will be included in the formal proceedings. Extended abstracts will be distributed to workshop attendees, but will not be included in the formal proceedings. The goal of the extended abstracts is to generate discussion; examples could include works-in-progress, surveys of current research areas, reflections on past research, “position” papers (advocating for specific research directions), or more generally any topic that the authors believe would be valuable for the community. Extended abstracts will be evaluated primarily for relevance and interest.

We welcome submissions from PC members (with the exception of the PC Chairs), but these submissions will be held to a higher standard.

Submission is handled through the HotCRP site. All submissions should be in portable document format (PDF) and formatted using the ACM SIGPLAN style guidelines. Submissions written with LaTeX are required to use the acmart format and the two-column sigplan subformat (not to be confused with the one-column acmlarge subformat!).

Extended abstracts must be submitted with the label ‘Extended abstract’ clearly in the title.

Submission Link

https://fhpnc2023.hotcrp.com

Publication

The proceedings of FHPNC 2023 will be published in the ACM Digital Library. Related links

AUTHORS TAKE NOTE: The official publication date is the date the proceedings are made available in the ACM Digital Library. This date may be up to two weeks prior to the first day of your conference. The official publication date affects the deadline for any patent filings related to published work.

Invited talks

Mike Sperber

Fast Deep Learning with Categories

One of the uses of Conal Elliott’s ConCat infrastructure for compiling with categories is implementing Deep Learning. ConCat implements the automatic differentiation needed to compute gradients. It can also be used to transform the resulting code to run on a GPU via the Accelerate framework. Composing both yields high-performance GPU-based Deep Learning, implemented as plain Haskell code. The talk describes how these pieces fit together in an industrial application, what the advantages are over the dominant Python-based frameworks, as well as challenges of composing ConCat and Accelerate.

About the speaker Mike Sperber is CEO of Active Group, a software consultancy in Tübingen, Germany that develops software for client projects using functional programming. He is a long-standing member of the ICFP community, having published at ICFP itself, the Scheme, Haskell, and ML workshops.

Satnam Singh

Programming the Groq TSP Architecture in Haskell with Haste

This talk describes the high-level architecture of the Groq TSP chip which is a special purpose accelerator for linear algebra options, with a focus on matrix multiplication which makes it suitable for applications in the domains of machine learning and HPC. A distinctive aspect of the architecture is its deterministic mode of operation and a programming model that exploits the ability to statically schedule a computation at compile time. This talk gives an overview of the TSP architecture motivated by examples written in the Haskell Haste DSL.

About the speaker Satnam Singh is a Fellow at Groq where he applies the power of functional programming languages to the design of machine learning chips and their programming models. Satnam Singh previously worked at Google (machine learning chips, cluster management), Facebook (Android optimization), Microsoft (parallel and concurrent programming) and Xilinx (Lava DSL for hardware design). He started his career as an academic at the University of Glasgow (FPGA-based application acceleration and functional programming).

Talks

Rank-Polymorphism for Shape-Guided Blocking

Artjoms Sinkarovs (Heriot-Watt University), Thomas Koopman (Radboud University), Sven-Bodo Scholz (Radboud University)

Efficient GPU implementation of a class of array permutations

Mathis Bouverot-Dupuis (Ecole Normale Supérieure Paris), Mary Sheeran (Chalmers)

Shape-Constrained Array Programming with Size-Dependent Types

Lubin Bailly (Département d’Informatique de l’ENS, École normale supérieure), Troels Henriksen (DIKU, University of Copenhagen), Martin Elsman (University of Copenhagen)

The best multicore-parallelization refactoring you’ve never heard of

Mike Rainey (Carnegie Mellon University)

Community Updates

We will have a session where with informal community updates and reports about current projects, work in progress, and plans for the future.