skip to main content
10.1145/2627373acmconferencesBook PagePublication PagespldiConference Proceedingsconference-collections
ARRAY'14: Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming
ACM2014 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
PLDI '14: ACM SIGPLAN Conference on Programming Language Design and Implementation Edinburgh United Kingdom June 9 - 11, 2014
ISBN:
978-1-4503-2937-8
Published:
09 June 2014
Sponsors:
Recommend ACM DL
ALREADY A SUBSCRIBER?SIGN IN

Reflects downloads up to 20 Feb 2025Bibliometrics
Skip Abstract Section
Abstract

The first ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array Programming was held in Edinburgh on June 12th and 13th 2014, immediately following and associated with PLDI 2014. This volume contains the accepted papers. Slides of the presentations are available at http://www.sable.mcgill.ca/array/.

Skip Table Of Content Section
tutorial
Exploiting Implicit Parallelism in Dynamic Array Programming Languages

We have built an interpreter for the array programming language J. The interpreter exploits implicit data parallelism in the language to achieve good parallel speedups on a variety of benchmark applications.

Many array programming languages operate on ...

tutorial
NOVA: A Functional Language for Data Parallelism

Functional languages provide a solid foundation on which complex optimization passes can be designed to exploit parallelism available in the underlying system. Their mathematical foundations enable high-level optimizations that would be impossible in ...

tutorial
Abstracting Vector Architectures in Library Generators: Case Study Convolution Filters

We present FGen, a program generator for high performance convolution operations (finite-impulse-response filters). The generator uses an internal mathematical DSL to enable structural optimization at a high level of abstraction. We use FGen as a ...

tutorial
Just-in-time Length Specialization of Dynamic Vector Code

Dynamically typed vector languages are popular in data analytics and statistical computing. In these languages, vectors have both dynamic type and dynamic length, making static generation of efficient machine code difficult. In this paper, we describe a ...

tutorial
A Local-View Array Library for Partitioned Global Address Space C++ Programs

Multidimensional arrays are an important data structure in many scientific applications. Unfortunately, built-in support for such arrays is inadequate in C++, particularly in the distributed setting where bulk communication operations are required for ...

tutorial
GPGPU Composition with OCaml

GPGPU programming promises high performance. However, to achieve it, developers must overcome several challenges. The main ones are: write and use hyper-parallel kernels on GPU, manage memory transfers between CPU and GPU, and compose kernels, keeping ...

tutorial
Supporting Array Programming in X10

Effective support for array-based programming has long been one of the central design concerns of the X10 programming language. After significant research and exploration, X10 has adopted an approach based on providing arrays via user definable and ...

tutorial
A Composable Array Function Interface for Heterogeneous Computing in Java

Heterogeneous computing has now become mainstream with virtually every desktop machines featuring accelerators such as Graphics Processing Units (GPUs). While heterogeneity offers the promise of high-performance and high-efficiency, it comes at the cost ...

tutorial
Just-in-time shape inference for array-based languages

In dynamic array-based languages, the most computationally intensive parts of the program often involve either explicit loops or vector operations. These loops and vector operations can be better optimized if the compiler has accurate information about ...

tutorial
Array Operators Using Multiple Dispatch: A design methodology for array implementations in dynamic languages

Arrays are such a rich and fundamental data type that they tend to be built into a language, either in the compiler or in a large low-level library. Defining this functionality at the user level instead provides greater flexibility for application ...

tutorial
Open Access
Co-dfns: Ancient Language, Modern Compiler

The APL language allows subject matter experts with no computer science experience to create large and complex software implementations of ideas without excessive software engineering and external development costs. The rapid increase in data sizes ...

tutorial
Extract and Extend Parallelism using C/C++ Extension for Array Notation on Multicore and Many-core Platforms: An Empirical Investigation with Quantitative Finance Examples

In this paper, we explore the newly introduced array notion syntax extension in recent release of Intel Compiler with a few representative quantitative finance workloads. We will explore the array syntax both as an abstraction tool to allow the user to ...

tutorial
On Predicting the Impact of Resource Redistributions in Streaming Applications

We propose a method for black-box performance modelling of executions of data-parallel array operations on shared memory multi-core systems. Black-box performance modelling refers to the idea that the source code as well as its attendant compilation ...

tutorial
Loo.py: transformation-based code generation for GPUs and CPUs

Today's highly heterogeneous computing landscape places a burden on programmers wanting to achieve high performance on a reasonably broad cross-section of machines. To do so, computations need to be expressed in many different but mathematically ...

tutorial
Bounds Checking: An Instance of Hybrid Analysis

This paper presents an analysis for bounds checking of array subscripts that lifts checking assertions to program level under the form of an arbitrarily-complex predicate (inspector), whose runtime evaluation guards the execution of the code of ...

tutorial
Multi-Target C Code Generation from MATLAB

This paper describes our recent work on MATISSE, a framework for MATLAB to C compilation. We focus on the new optimizations and transformations, as well as on OpenCL generation. MATISSE is controlled with LARA, an aspect-oriented language, able to ...

tutorial
Compiling a Subset of APL Into a Typed Intermediate Language

We present a compiler and a typed intermediate language for a subset of APL. The intermediate language treats all numeric data as multi-dimensional arrays and the type system makes explicit the ranks of arrays. Primitive operators are polymorphic in ...

Index Terms

  1. Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Acceptance Rates

        ARRAY'14 Paper Acceptance Rate 17 of 25 submissions, 68%;
        Overall Acceptance Rate 17 of 25 submissions, 68%
        YearSubmittedAcceptedRate
        ARRAY'14251768%
        Overall251768%