Webinar: Introduction to AMD GPU Programming with HIP
Jun 7 @ 1:00 pm – 3:00 pm

AMD Research will be presenting a webinar titled, “Introduction to AMD GPU programming with HIP” on June 7th from 1:00 pm to 3:00 pm ET. HIP is a C++ runtime API that allows developers to write portable code to run on AMD and NVIDIA GPUs. It is an interface that uses the underlying Radeon Open Compute (ROCm) or CUDA platform that is installed on a system. The API is similar to CUDA so porting existing codes from CUDA to HIP should be fairly straightforward in most cases. In addition, HIP provides porting tools which can be used to help port CUDA codes to the HIP layer, with no overhead compared to the original CUDA application. HIP is not intended to be a drop-in replacement for CUDA, and this webinar will include guidance on the manual coding and performance tuning work needed to complete the port.

Key features include:

  • HIP is a thin layer and has little or no performance impact over coding directly in CUDA.
  • HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas, classes, namespaces, and more.
  • The “hipify” tools automatically converts source from CUDA to HIP.
  • Developers can specialize for the platform (CUDA or HIP) to tune for performance or handle tricky cases.

Registration is required, and participation is limited to 200 attendees.The slides and video will be made available after the event.

We invite you to submit your HIP questions using the Google doc. We will try to address your questions during and/or after the webinar.

Modern C++ for High-Performance Computing
Jun 12 @ 1:00 pm – 2:00 pm

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 Modern C++ for High-Performance Computing, and will be presented by Andrew Lumsdaine (Pacific Northwest National Laboratory & University of Washington). The webinar will take place on Wednesday, June 12, 2019 at 1:00 pm ET.


Since its creation by Bjarne Stroustrup in the early 1980s, C++ has steadily evolved to become a multi-paradigm programming language that fully supports the needs of modern programmers. Because C++ had its roots in the C programming language, conventional wisdom (and longstanding practice) had been to use C++ in a dichotomous fashion: abstractions for productivity with escape to C for performance. However, C++ today is best viewed holistically — as it is today — rather than as extension of C or even of earlier versions of C++. In this webinar I will give a tour of features from modern C++ relevant to HPC, along with guidelines for their use — and demonstrate that C++ can offer productivity and elegance while sacrificing nothing in performance.

Advanced MPI Tutorial at ISC High Performance 2019
Jun 16 @ 9:00 am – 6:00 pm

Advanced MPI Tutorial

  • When: Sunday, June 16, 9am – 6pm
  • Where: Applaus, Messe Frankfurt Tor Ost (East Gate) Hall 3, Frankfurt am Main, Germany
  • Presenters: Pavan Balaji (Argonne National Laboratory), Torsten Hoefler (D-INFK ETH Zurich), Antonio Pena (Barcelona Supercomputing Center) and Yanfei Guo (Argonne National Laboratory)

The ECP Project will host an advanced Message-Passing Interface (MPI) Tutorial on June 16. This tutorial will cover a vast of new features that are being introduced in MPI-3. The tutorial is offered as part of the ISC High Performance 2019. The registration is open to everyone through the ISC registration page.

The Message Passing Interface (MPI) has been the de facto standard for parallel programming for nearly two decades now. However, a vast majority of applications only rely on basic MPI-1 features without taking advantage of the rich set of functionalities the rest of the standard provides. Further, with the advent of MPI-3 (released in September 2012), a vast number of new features are being introduced in MPI, including efficient one-sided communication, support for external tools, non-blocking collective operations, and improved support for topology-aware data movement. The upcoming MPI-4 standard aims at introducing further improvements to the standard in a number of aspects. This is an advanced-level tutorial that will provide an overview of various powerful features in MPI, especially with MPI-2 and MPI-3, and will present a brief preview into what is being planned for MPI-4.