NERSCPowering Scientific Discovery for 50 Years

Introduction to High-Performance Parallel Distributed Computing Using Chapel, UPC++ and Coarray Fortran, July 2023

July 26, 2023


ECP, NERSC, and OLCF are jointly hosting the two-day virtual hands-on training on PGAS programming models: Chapel, UPC++, and Coarray Fortran, July 26-27, 2023.

A majority of HPC system users use scripting languages such as Python to prototype their computations, coordinate their large executions, and analyze the data resulting from their computations. Python is great for these many uses, but it frequently falls short when significantly scaling up the amount of data and computation, as required to fully leverage HPC system resources. In this tutorial, we show how example computations such as heat diffusion, k-mer counting, file processing, and distributed maps can be written to efficiently leverage distributed computing resources in the Chapel, UPC++, and Fortran parallel programming models. This tutorial should be accessible to users with little-to-no parallel programming experience, and everyone is welcome. A partial differential equation problem will be shown in all three programming models along with performance and scaling results on big machines. Attendees will be shown how to compile and run these programming examples, and provided opportunities to experiment with different parameters and code alternatives while being able to ask questions and share their own observations. Come join us to learn about some productive and performant parallel programming models!

Current OLCF users with access to Frontier will be able to access a reservation on Frontier to work the examples. Current NERSC users will be able to use Perlmutter. Training accounts on Perlmutter are available for participants who do not have access to either Frontier or are not NERSC users. The examples will also be available in a Docker container and a cloud-based virtual desktop environment for access by any attendee.


  • Basic and introductory topics for expanding broader engagement
  • Software engineering for portable performance and scalability
  • Parallel programming methods, models, languages and environments
  • Clusters and distributed systems

Date and Time:  9:00 am - 12:25 pm Pacific, Wed-Thur, July 26-27, 2023

The format of this event will be online only. 


Registration is required for remote participation.  Please find more information and register on the ECP event page


Dr. Amir Kamil, Lecturer in Electrical Engineering and Computer Science at the University of Michigan and Visiting Faculty at Lawrence Berkeley National Laboratory.

Dr. Damian Rouson, Group Lead for the Computer Languages and Systems Software Group at Lawrence Berkeley National Laboratory.

Prof. Michelle Mills Strout, Chapel project leader at Hewlett Packard Enterprise and Affiliate Professor at the University of Arizona in Computer Science.

Presentation Materials

The tutorial website is at, which contains slides, video recordings, exercises, and more.