Invited talk - Saturday, June 13th at 9:00am

David PaduaDepartment of Computer ScienceUniversity of Illinois at Urbana-Champaign

Since its emergence in the 1960s, array notation has been valued as a powerful abstraction to program in a compact form and to represent parallelism. The main theme of this presentation is that today there is much to be gained by expanding the use of array notation. That the notation can be profitably used for a wide range of problem domains, programming paradigms, and to take advantage of multiple architectural features. Indeed, array notation can be used not only for numerical linear algebra but also for different classes of symbolic computing including the implementation of graph algorithms. Extensive use of array notation would not only improve productivity, but also reduce the overhead of interpretation of dynamic languages, and facilitate the representation of shared memory parallelism, distributed memory communication operations, and locality. Furthermore, the introduction of new operators and compiler strategies would enable the use of the notation in new directions including irregular and asynchronous computations.

Schedule Saturday, June 13 Breakfast (8:15-9:00) 9:00 - 10:00 - Invited Talk Array Notation for Everbody David Padua 10:00 - 11:00 - Paper Session 1 Loo.py: From Fortran to Performance via Transformation and Substitution Rules Andreas Klöckner Techniques for Efficient MATLAB-to-C Compilation João Bispo, Luís Reis, and João M. P. Cardoso Morning Break (11:00-11:20) 11:20 - 12:20 - Paper Session 2 Compiling APL to Accelerate through a Typed Array Intermediate Language Michael Budde, Martin Dybdal, and Martin Elsman Velociraptor: A Compiler Toolkit for Array-Based Languages Targeting CPUs and GPUs Rahul Garg, Sameer Jagdale, and Laurie Hendren Morning Wrapup (12:20-12:30) Lunch (12:30-14:00) 14:00 - 15:30 - Paper Session 3 Performance Search Engine Driven by Prior Knowledge of Optimization Youngsung Kim, Pavol Černý, and John Dennis High-Level Accelerated Array Programming in the Web Browser Mathias Bourgoin and Emmanuel Chailloux Accelerating Information Experts through Compiler Design Aaron W. Hsu Afternoon Break (15:30 - 16:00) 16:00 - 17:30 - Paper Session 4 Fusing Convolution Kernels through Tiling Mahesh Ravishankar, Paulius Micikevicius, and Vinod Grover Array Programming in Pascal Paul Cockshott, Susanne Oehler, Youssef Gdura, and Ciaran Mcreesh Abstract Expressionism for Parallel Performance Robert Bernecky and Sven-Bodo Scholz Afternoon Wrapup (17:30-18:00)

Focus and Description

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 and compiler researchers, who are working on numeric languages such as R and MATLAB, general-purpose dynamic languages such as Python and JavaScript, and statically typed languages such as Haskell, Scala, and C#.

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.

Important Dates

Submissions

research paper on any topic related to the focus of the workshop

on any topic related to the focus of the workshop tool description reporting on a tool relevant to the topic of the workshop. In the case of a tool description 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.

Publication

Schedule

Organizing Committee

Program Committee

Special notes for students

SIGPLAN PAC funding: Because ARRAY 15 is sponsored by SIGPLAN, you are eligible to apply for SIGPLAN PAC funding if you are the presenter or co-author of a paper.

Because ARRAY 15 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 2015 Student Research Competition: Maximize your visibility and get the most out of your trip to PLDI 15 and ARRAY 15 by entering the PLDI 2015 Student Research Competition.

Previous ARRAY workshops

Sponsored by:



Submissions should bein ACM SIGPLAN proceedings style . Submissions may be one of the following:We plan to apply for permission to have accepted papers published in the ACM Digital Library.The workshop will span both Saturday all day and the morning of Sunday. Schedule details will be available after the review of submissions.The program committee includes all members of the organizing committee, plus the following members: