< Chapel: CHIUW 2016: Third Annual Chapel Implementers and Users Workshop

The Chapel Parallel Programming Language


CHIUW 2016

The 3rd Annual Chapel Implementers and Users Workshop

Friday, May 27 (mini-conference day)
Saturday, May 28 (code camp day)

30th IEEE International Parallel & Distributed Processing Symposium
Chicago Hyatt Regency, Chicago, Illinois, USA

Introduction: CHIUW 2016—the third annual Chapel Implementers and Users Workshop, to be held in conjunction with IEEE IPDPS 2016—will continue our annual series of workshops designed to bring developers and users of the Chapel language (chapel-lang.org) together to report on work being done across the broad open-source community and to explore ways to advance Chapel. Attendance is open to anyone interested in Chapel, from the most seasoned Chapel user or developer to someone simply curious to learn more.

Registration: Register via the IPDPS registration site (if you're only attending CHIUW, select a one-day registration; to attend other days at IPDPS, select from the other options as appropriate).


Friday, May 27, 2016 (Mini-Conference Day)

8:00 - 8:30:  Chapel Boot Camp (Optional) [slides]
Brad Chamberlain (Cray Inc.)
This is a completely optional session held prior to the official start of the workshop for those who are new to Chapel and looking for a crash-course, or for those who would simply like a refresher.
8:30 - 9:00:  Welcome, State of the Project [Welcome slides | SoP slides]
Brad Chamberlain (Cray Inc.)
Benchmarking and Optimization Papers
Session chair: Mike Chu (AMD)
9:00 - 9:30: Optimizing Chapel for Single-Node Environments [slides]
Richard Johnson and Jeff Hollingsworth (University of Maryland)
Abstract: This paper investigates how Chapel performance compares with other parallel frameworks. We provide specific examples of how programmers may improve their single-node (single-locale) Chapel programs to improve performance. We also identify some changes that would be possible to the language to make it easier to get these performance gains. Specifically, we compare the intranode performance of Chapel programs with OpenMP in C/C++ by conducting case studies profiling the LULESH, MiniMD, SSCA#2, and CLOMP benchmarks. Our optimization techniques demonstrate improved runtime performance of Chapel benchmarks by factors of 3x, 5.3x, 6.3x, and 4.8x respectively and outperformed their OpenMP counterparts by factors of 2x for LULESH, 1.6x for SSCA#2, and 4.8x for CLOMP.
9:30 - 10:00: PGAS Access Overhead Characterization in Chapel [slides]
Engin Kayraklioglu, Olivier Serres, Ahmad Anbar, Hashem Elezabi and Tarek El-Ghazawi (The George Washington University)
Abstract: The Partitioned Global Address Space (PGAS) model increases programmer productivity by presenting a flat memory space with locality awareness. However, the abstract representation of memory incurs overheads especially when global data is accessed. As a PGAS programming language, Chapel provides language structures to alleviate such overheads. In this work, we examine such optimizations on a set of benchmarks using multiple locales and analyze their impact on programmer productivity quantitatively. The optimization methods that we study achieved improvements over non-optimized versions ranging from 1.1 to 68.1 times depending on the benchmark characteristic.
Morning Break
10:00 - 10:30:  Break (catered by IPDPS)
Benchmarking and Optimization Talks
Session chair: Richard Barrett (Sandia)
10:30 - 10:45:  LCALS Benchmark in Chapel [extended abstract | slides]
David Iten and Elliot Ronaghan (Cray Inc.)
10:45 - 11:00:  Chapel With Polyhedral Transformation Using Autotuning
[extended abstract | slides]
Tuowen Zhao and Mary Hall (University of Utah)
11:00 - 11:15:  Binary Rewriting at Runtime for Efficient Dynamic Domain Map Implementations [extended abstract | slides]
Josef Weidendorfer and Jens Breitbart (Technical University of Munich)
11:15 - 11:30:  Enabling Sparse Matrix Computation in Multi-locale Chapel
[extended abstract | slides]
Amer Tahir, Milton Halem (University of Maryland Baltimore County), and Tyler Simon (Laboratory for Physical Sciences)
11:30 - 11:45:  ISx in Chapel: Early Observations and Results [extended abstract | slides]
Brad Chamberlain and Ben Harshbarger (Cray Inc.)
11:45 - 1:00:  Lunch (in ad hoc groups or on your own)
Keynote Talk
Session chair: Brad Chamberlain (Cray Inc.)
1:00 - 2:00:  Chapel in the (Cosmological) Wild [slides | video]
Nikhil Padmanabhan (Yale University)
Abstract: This talk aims to present my personal experiences using Chapel in my research. My research interests are in observational cosmology; more specifically, I use large surveys of galaxies to constrain the evolution of the Universe and to probe the physics underlying that evolution. Operationally, this involves measuring a number of spatial statistics of the distribution of galaxies, both on actual observations, but also on large numbers of simulated universes. I'll start by presenting a whirlwind introduction to cosmology, the problems that keep me up at night and our approaches to solving these. I'll then discuss what attracted me to Chapel—the ability to prototype algorithms quickly and the promised ease and flexibility of writing parallel programs. I'll then present a worked example of Chapel being used in a real-world application, discussing some of these aspects as well highlighting its interoperability with existing libraries, as well as some of the challenges. I'll conclude with what it would take for me to switch over to using Chapel all of the time.
Bio: Nikhil Padmanabhan is an Associate Professor of Physics and Astronomy at Yale University. He is an observational cosmologist, and his research interests involve using large galaxy surveys to understand the evolution of the Universe. In his spare time, he is a Chapel enthusiast and has contributed to the development of the FFTW module in Chapel.
Chapel Improvement Papers
Session chair: Brian Guarraci (Cricket Health)
2:00 - 2:30: Chplvis: A Communication and Task Visualization Tool for Chapel [slides]
Philip Nelson (Western Washington University) and Greg Titus (Cray Inc.)
Abstract: Tasks and locales are the two primary abstractions in Chapel, tasks for parallelism and locales for data and execution locality. Chapel contains constructs that implicitly or explicitly specify tasks and inter-locale communication. When writing Chapel programs, it is sometimes difficult, especially for new Chapel programmers, to know how tasks and inter-locale communication are generated by the program. We present a new tool, chplvis, that visually presents to a programmer this important information.
2:30 - 3:00: Transparently Resilient Task Parallelism for Chapel [prezi]
Konstantina Panagiotopoulou and Hans-Wolfgang Loidl (Heriot-Watt University)
Abstract: Hardware failure in High-Performance Computing systems is the norm. Failure data, collected over a nine year period across 22 large-scale systems of up to few thousands of NUMA or SMP nodes, at Los Alamos National Laboratories, show averages of 20-1000 failures per year. This paper describes the design and outlines the implementation of transparent resilience for task parallelism in Chapel, a high-performance language developed for productive parallel programming. We detail the design directions and we implement a transparent resilience mechanism within Chapel's runtime system. Our primary goal is to ensure program termination in the presence of hardware failure of one or multiple nodes in the system. We evaluate our implementation using a set of five synthetic microbenchmarks covering Chapel's task parallel constructs and we quantify and discuss the small overheads and speedups noted for the resilient implementation compared to the latest non-resilient Chapel release.
Afternoon Break
3:00 - 3:30:  Break (catered by IPDPS)
Chapel Improvement Talks
Session chair: Ben Albrecht (Cray Inc.)
3:30 - 3:45:  Chapel-on-HSA: Towards Seamless Acceleration of Chapel Code using the Heterogeneous System Architecture [extended abstract | slides]
Abhisek Pan and Michael Chu (Advanced Micro Devices)
3:45 - 4:00:  The Use and I: Transitivity of Module Uses and its Impact
[extended abstract | slides]
Lydia Duncan (Cray Inc.)
Chapel Application Study Talks
Session chair: Phil Nelson (WWU)
4:00 - 4:15:  Using Chapel for Natural Language Processing and Interactions
[extended abstract | slides]
Brian Guarraci (Cricket Health)
4:15 - 4:30:  Developing a Big Data Chapel [extended abstract | slides]
Chris Taylor (Department of Defense)
4:30 - 4:45:  Social Network Analysis on Twitter with Chapel [extended abstract | slides]
Ben Albrecht and Michael Ferguson (Cray Inc.)
Community Discussion / Wrap-up
Session chair: Tom MacDonald (Cray Inc.)
4:45 - 5:30:  Community Discussion
To wrap up the day, we'll have an open discussion about Chapel's future, priorities, adoption, or anything else of interest to those in attendance.
5:30 -       :  Adjourn for Dinner (in ad hoc groups or on your own)


Saturday, May 28, 2016 (Code Camp Day)

Chapel Code Camp
8:30 - noon:  Chapel Code Camp
This year's code camp topics included:
  • targeting Chapel to GPUs
  • exploring a symbolic computation code
  • supporting hardware placement queries across language abstractions
  • looking at the Block distribution in the context of resilience
  • writing multigrid in Chapel
  • exposing impacts of implementation choices to Chapel programmers
  • enabling binary rewriting from compiler-generated code
12:00 -      : Lunch (in ad hoc groups or on your own)



General Chairs:

  • Tom MacDonald, Cray Inc.
  • Greg Titus, Cray Inc.
Program Committee:
  • Brad Chamberlain (chair), Cray Inc.
  • Mike Chu (co-chair), AMD
  • Richard Barrett, Sandia National Laboratories
  • Jens Breitbart, Technische Universität München
  • Brian Guarraci, Cricket Health
  • Jeff Hammond, Intel
  • Rob Neely, Lawrence Livermore National Laboratory
  • Phil Nelson, Western Washington University
  • Michelle Strout, University of Arizona
  • Didem Unat, KoƧ Universitesi


Call For Participation (for archival purposes)