The IDEAS Productivity project, in partnership with the DOE Computing Facilities of the ALCF, OLCF, and NERSC and the DOE Exascale Computing Project (ECP) has resumed the webinar series on Best Practices for HPC Software Developers, which we began in 2016.
As part of this series, we offer one-hour webinars on topics in scientific software development and high-performance computing, approximately once a month. The next webinar is titled Building Community through xSDK Software Policies, and will be presented by Ulrike Meier Yang (Lawrence Livermore National Laboratory) and Piotr Luszczek (The University of Tennessee, Knoxville). The webinar will take place on Wednesday, December 11, 2019 at 1:00 pm ET.
The development of increasingly complex computer architectures and software ecosystems continues. Applications that incorporate multiphysics modeling as well as the coupling of simulation and data analytics increasingly require the combined use of software packages developed by diverse, independent teams throughout the HPC community. The Extreme-scale Scientiﬁc Software Development Kit (xSDK) is being developed to provide coordinated infrastructure for independent mathematical libraries to support the productive and efficient development of high-quality applications. This webinar will discuss the development and impact of xSDK community policies, which constitute an integral part of the project and have been defined to achieve improved code quality and compatibility across xSDK member packages and a sustainable software ecosystem.
Registration is still open for the free one-day ECP/NERSC UPC++ tutorial, for people who wish to participate remotely. Registrations made after December 1 do not provide access to Cori for the hands-on component of the tutorial.
This event is a repeat of the tutorial delivered on November 1, but with the restoration of the hands-on component which was omitted due to uncertainty surrounding the power outage at NERSC.
UPC++ is a C++11 library providing classes and functions that support Partitioned Global Address Space (PGAS) programming. UPC++ provides mechanisms for low-overhead one-sided communication, moving computation to data through remote-procedure calls, and expressing dependencies between asynchronous computations and data movement. It is particularly well-suited for implementing elaborate distributed data structures where communication is irregular or fine-grained. The UPC++ interfaces are designed to be composable and similar to those used in conventional C++. The UPC++ programmer can expect communication to run at close to hardware speeds.
In this tutorial we will introduce basic concepts and advanced optimization techniques of UPC++. We will discuss the UPC++ memory and execution models and walk through implementing basic algorithms in UPC++. We will also discuss irregular applications and how to take advantage of UPC++ features to optimize their performance. The tutorial will include hands-on exercises with basic UPC++ constructs. Registrants will be given access to run their UPC++ exercises on NERSC’s Cori (currently the #14 fastest computer in the world).
This event can be attended remotely via the free Zoom video-conferencing application. The remote connection information will be provided to the registrants closer to the event. Registration is required for this so please register as soon as possible.
We are pleased to announce that we are hosting the next Performance Portability with Kokkos Bootcamp January 14-17, 2020 at the Buffalo Thunder Resort in Santa Fe NM. This training is intended to teach new Kokkos users how to get started and to help existing Kokkos users to further improve their codes. The training will cover the minimum required topics to get your application started on using Kokkos, and Kokkos experts will be on hand to help the more advanced users.
A room block for this event has been reserved for January 13, 2020 – January 17, 2020 at the Hilton Santa Fe Buffalo Thunder. The deadline to book a room within the room block is January 1, 2020. More information on the room block can be found here.
See tickets to register or to get more information.