ACM SIGPLAN 3rd International Workshop on Libraries, Languages and Compilers for Array ProgrammingARRAY
Call for Papers
Array-oriented programming is a powerful abstraction for compactly implementing numerically intensive algorithms. Many modern languages now provide some support for collective array operations, which are used by an increasing number of programmers (and non-programmers) for data analysis and scientific computing.
This workshop is intended to bring together researchers from many different communities, including language designers, library developers, compiler researchers and practitioners who are working on numeric, array-centric aspects of programming languages, libraries and methodologies from all domains: imperative or declarative, object-oriented or not, interpreted or compiled, strongly typed, weakly typed or untyped.
The aim of this workshop is to foster the cross-pollination of concepts across projects and research communities and to explore new directions, such as:
- Expanding the scope of array programming to encompass a wider range of data types and computations.
- Transparently utilizing parallel hardware (multi-core, SIMD, GPU, FPGA) by leveraging the implicitly parallel semantics of array operations.
- Simplifying the embedding of array constructs within existing languages which weren’t designed for numerical computing.
- Connections between array abstractions and other models such as dataflow programming, stream programming, and data parallelism.
- High-level compilation and optimization techniques for array-oriented programs.
- Compilers, virtual machines and frameworks for array-oriented programming languages.
Manuscripts may fall into one of the following categories:
- research papers on any topic related to the focus of the workshop
- tool description papers reporting on a tool relevant to the topic of the workshop
Submissions should be four to eight pages for research papers and four to six pages for tool description papers. All papers should admit to the ACM SIGPLAN proceedings style.
In the case of a tool description paper, the workshop presentation should include a demo of the tool, and the submission should include a short appendix summarizing the tool demo. This appendix is for the information of the PC only, and will not be part of the published paper, nor does it count in the six page limit. Submissions should clearly express the paper category in the subtitle.
Formatting: Submissions must be in PDF format printable in black and white on US Letter sized paper and interpretable by Ghostscript. Papers must adhere to the standard SIGPLAN conference format: two columns, nine-point font on a ten-point baseline, with columns 20pc (3.33in) wide and 54pc (9in) tall, with a column gutter of 2pc (0.33in). A suitable document template for LaTeX is available at http://www.sigplan.org/Resources/Author/.
Papers can now be submitted using EasyChair.
Papers will be published in the ACM Digital Library.
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 workshop. 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 workshop is over, the official publication date remains the first day of the workshop.)
We are proud to announce two confirmed keynote speakers at the workshop:
Bradford Chamberlain. Principal Engineer at Cray Inc, Seattle, USA. Chief designer of the Chapel high productivity language.
Title: Lessons Learned in Array Programming: from ZPL to Chapel
Abstract: In this talk, I’ll start by providing a review of array programming in ZPL, an academic data-parallel programming language developed at the University of Washington during the 1990’s. I’ll describe the strengths and weaknesses of ZPL’s support for array computation and describe how the lessons we learned in the ZPL project influenced Chapel’s design and its support for arrays and data parallelism. In doing so, I’ll provide a glimpse into some of Chapel’s main research challenges and contributions, including user-defined distributions, parallel zippered iteration, and mapping to contemporary processor architectures. In doing so, I’ll also attempt to characterize what I view as the key distinctions between successful languages developed in academia versus industry based on my experiences with both ZPL and Chapel.
Morten Kromberg. User Experience Director (CXO) at Dyalog Ltd, Bramley, UK. Commercial provider of APL interpreters, tools and services.
Title: Notation for Parallel Thoughts
Abstract: Since the original APL\360 interpreter saw the light of day in 1966, a large part of the of primitive functions in APL (A Programming Language) implicitly map operations to all elements of array arguments (and arrays of numbers or characters are the only “types” available in the language). Over the decades, the parallelism at the core of the notation has been extended, to nested arrays in the 80’s and arrays of objects in the 00’s. In this decade, arrays of futures have been added to provide users of APL with the ability to express asynchronous – but deterministic -algorithms.
This talk will introduce the most important parallel constructs available in current Dyalog APL, which (despite the name) essentially remains an executable mathematical notation.
Schedule details will be available after the review process.
Special notes for students
SIGPLAN PAC funding: Because ARRAY’16 is sponsored by SIGPLAN, you are eligible to apply for SIGPLAN PAC funding if you are the presenter or co-author of a paper.
PLDI’16 Student Research Competition: Maximize your visibility and get the most out of your trip to PLDI’16 and ARRAY’16 by entering the PLDI’16 Student Research Competition or the PLDI’16 Student Poster Session.
Previous ARRAY workshops
ARRAY 2015 (co-located with PLDI 2015)
ARRAY 2014 (co-located with PLDI 2014)
Tue 14 JunDisplayed time zone: Tijuana, Baja California change
09:00 - 10:00
Session 1ARRAY at Santa Rosa West
|Invited talk: Lessons Learned in Array Programming: from ZPL to Chapel|
10:30 - 12:00
Session 2ARRAY at Santa Rosa West
|Array Program Transformation with Loo.py by Example: High-Order Finite Elements|
Andreas Kloeckner University of Illinois at Urbana-Champaign, Lucas Wilcox , Tim Warburton
|Data-Race Detection: The Missing Piece for an End-to-end Semantic Equivalence Checker for Parallelizing Transformations of Array-Intensive Programs|
|Design and GPGPU Performance of Futhark's Redomap Construct|
Troels Henriksen DIKU, Ken Friis Larsen DIKU, University of Copenhagen, Cosmin Oancea
|Object Support in an Array-based GPGPU Extension for Ruby|
Matthias Springer Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology
13:30 - 15:00
Session 3ARRAY at Santa Rosa West
|Invited talk: Notation for Parallel Thoughts |
|The Key to a Data Parallel Compiler|
15:30 - 17:00
Session 4ARRAY at Santa Rosa West
|Automatic Generation of Parallel C Code for Stencil Applications written in MATLAB|
|Extending C++ with Co-Array semantics|
|SSA-based MATLAB-to-C Compilation and Optimization|
Luís Reis , João Bispo FEUP, Universidade do Porto, João Cardoso
|TTC: A Tensor Transposition Compiler for Multiple Architectures|