Write a Blog >>
PLDI 2021
Sun 20 - Sat 26 June 2021 PLDI
  • New: full papers in the ACM DL
  • Please take a moment to read the code of conduct before the workshop starts
  • Early access to talk videos, for watching in advance of the workshop itself

Array-oriented programming unites two uncommon properties. As an abstraction, it directly mirrors high-level mathematical abstractions commonly used in many fields from natural sciences over engineering to financial modeling. As a language feature, it exposes regular control flow, exhibits structured data dependencies, and lends itself to many types of program analysis. Furthermore, many modern computer architectures, particularly highly parallel architectures such as GPUs and FPGAs, lend themselves to efficiently executing array operations.

The ARRAY series of workshops explores:

• formal semantics and design issues of array-oriented languages and libraries;

• productivity and performance in compute-intensive application areas of array programming;

• systematic notation for array programming, including axis- and index-based approaches;

• intermediate languages, virtual machines, and program-transformation techniques for array programs;

• representation of and automated reasoning about mathematical structure, such as static and dynamic sparsity, low-rank patterns, and hierarchies of these, with connections to applications such as graph processing, HPC, tensor computation and deep learning;

• interfaces between array- and non-array code, including approaches for embedding array programs in general-purpose programming languages; and

• efficient mapping of array programs, through compilers, libraries, and code generators, onto execution platforms, targeting multi-cores, SIMD devices, GPUs, distributed systems, and FPGA hardware, by fully automatic and user-assisted means.

Array programming is at home in many communities, including language design, library development, optimization, scientific computing, and across many existing language communities. ARRAY is intended as a forum where these communities can exchange ideas on the construction of computational tools for manipulating arrays.

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

Mon 21 Jun

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

09:00 - 11:45
Session 1 (principles)ARRAY at ARRAY
Chair(s): Artjoms Šinkarovs Heriot-Watt University, UK
10:30
15m
Day opening
Welcome and opening
ARRAY
Jeremy Gibbons Department of Computer Science, University of Oxford
10:45
30m
Talk
Towards size-dependent types for array programming
ARRAY
Troels Henriksen University of Copenhagen, Denmark, Martin Elsman University of Copenhagen, Denmark
11:15
30m
Talk
Padding in the Mathematics of Arrays
ARRAY
Benjamin Chetioui University of Bergen, Norway, Ole Abusdal Western Norway University of Applied Sciences, Magne Haveraaen University of Bergen, Norway, Jaakko Järvi University of Turku, Lenore Mullin University at Albany, SUNY
13:30 - 16:15
Session 2 (keynote) and 3 (applications)ARRAY at ARRAY
Chair(s): Aggelos Biboudis Swisscom AG, Sandra Catalán
13:30
75m
Keynote
Keynote: Tilting at Windmills with the Humble Array
ARRAY
Tim Mattson Intel, USA
File Attached
15:15
30m
Talk
Array Languages Make Neural Networks Fast
ARRAY
Artjoms Šinkarovs Heriot-Watt University, UK, Hans-Nikolai Vießmann Radboud University Nijmegen, Netherlands, Sven-Bodo Scholz Radboud University
15:45
30m
Talk
Acceleration of Lattice Models for Pricing Portfolios of Fixed-Income Derivatives
ARRAY
Wojciech Michal Pawlak University of Copenhagen, Denmark, Marek Hlava Department of Computer Science, University of Copenhagen, Martin Metaksov Department of Computer Science, University of Copenhagen, Cosmin Oancea University of Copenhagen, Denmark
18:00 - 21:00
Session 4 (short talks)ARRAY at ARRAY
Chair(s): Jonathan Ragan-Kelley MIT CSAIL
18:00
25m
Talk
Improving the Performance of DGEMM with MoA and Cache-Blocking
ARRAY
Stephen Thomas National Renewable Energy Laboratory, Lenore Mullin SUNY Albany, USA, Kasia Swirydowicz Pacific Northwest National Laboratory
File Attached
18:25
25m
Talk
Nested Object Support in a Structure-of-Arrays Dynamic Objector Allocator
ARRAY
Jizhe Chenxin Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology
File Attached
18:50
25m
Talk
Data Layouts are Important (Extended Abstract)
ARRAY
Doru Thom Popovici Lawrence Berkeley National Lab, Andrew Canning Lawrence Berkeley National Laboratory, Zhengji Zhao Lawrence Berkeley National Laboratory, Lin-Wang Wang Lawrence Berkeley National Laboratory, John Shalf Lawrence Berkeley National Laboratory
File Attached

Call for Papers

Array programming is at home in many communities, including language design, library development, optimization, scientific computing, and across many existing language communities. The ARRAY Workshop series is intended to bring together researchers from many different communities, including language designers, library developers, compiler researchers, and practitioners, where these communities can exchange ideas on the construction of computational tools for manipulating arrays.

The ARRAY series of workshops explores:

  • formal semantics and design issues of array-oriented languages and libraries;

  • productivity and performance in compute-intensive application areas of array programming;

  • systematic notation for array programming, including axis- and index-based approaches;

  • intermediate languages, virtual machines, and program-transformation techniques for array programs;

  • representation of and automated reasoning about mathematical structure, such as static and dynamic sparsity, low-rank patterns, and hierarchies of these, with connections to applications such as graph processing, HPC, tensor computation and deep learning;

  • interfaces between array- and non-array code, including approaches for embedding array programs in general-purpose programming languages; and

  • efficient mapping of array programs, through compilers, libraries, and code generators, onto execution platforms, targeting multi-cores, SIMD devices, GPUs, distributed systems, and FPGA hardware, by fully automatic and user-assisted means.

Submissions

Submissions are welcome in two categories: full papers and extended abstracts. All submissions should be formatted in conformance with the ACM SIGPLAN proceedings style. Accepted submissions in either category will be presented at the workshop.

All submissions must be in PDF format, printable in black and white on US Letter sized paper. Papers must adhere to the standard SIGPLAN conference format: two columns, ten-point font.

Full papers may be up to 12 pages, on any topic related to the focus of the workshop. They will be thoroughly reviewed according to the usual criteria of relevance, soundness, novelty, and significance; accepted submissions will be published in the ACM Digital Library.

Extended abstracts may be up to 2 pages; they may describe work in progress, tool demonstrations, and summaries of work published in full elsewhere. The focus of the extended abstract should be to explain why the proposed presentation will be of interest to the ARRAY audience. Submissions will be lightly reviewed only for relevance to the workshop, and will not published in the DL.

Important Dates

Paper Submission: 2 Apr 2021

Author notification: 23 Apr 2021

Camera Ready: 5 May 2021

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 the conference. The official publication date affects the deadline for any patent filings related to published work. (For those rare conferences whose proceedings are published in the ACM Digital Library after the conference is over, the official publication date remains the first day of the conference.)