A Q&A with Paul Messina, Director of Science for the Argonne Leadership Computing Facility

Paul-MessinaHighly motivated to organize the Argonne Training Program on Extreme-Scale Computing, Paul Messina reflects on what makes the program unique and a can’t-miss opportunity for the next generation of HPC scientists.

Can you describe the ATPESC program to us?

The Argonne Training Program on Extreme-Scale Computing (ATPESC) is an intense, two-week program that covers most of the topics and skills that are necessary to conduct computational science and engineering research (CS&E) on today’s and tomorrow’s high-end computers.

Looking at the program overall, we have three primary goals. First, to provide the participants with in-depth knowledge on several of the topics, especially programming techniques and numerical algorithms that are effective in leading-edge HPC systems. Second, to make the participants aware of available software and techniques for all the topics, to ensure that, when their research requires a certain skill or software tools, they know where to look to find it instead of reinventing the tools or methodologies. And third, through exposure to the trends in HPC architectures and software, to indicate approaches that are likely to provide performance portability over the next decade and beyond.

What makes ATPESC different from other programs like it?

We believe that we are filling a gap from program offerings other institutions offer, which may cover fewer topics and typically are less in-depth. As an example, not many university graduate programs in the sciences cover software engineering or community codes. Ph.D. students in CS&E are also understandably instructed to work mostly on their own in implementing the codes for their dissertation research. Yet, when they begin working in research laboratories or industry, they almost always will work as part of a team and on enhancing existing software.

It’s also the case that we are always reviewing the contents and introducing new material as appropriate. For example, this year the hardware architectures track focused much more on explaining how architectural features such as SIMD units or memory architectures affect performance of scientific codes, since use of those features can yield large performance improvements. The continued very strong interest in our program indicates that we are indeed filling a gap in the training that is available.

Who is this training geared for?

The training is geared for scientists and engineers who intend to dedicate their career to research that requires very high-end computing. The program is aimed at individuals who have already programmed a non-trivial application using substantial parallelism. Participants in the first two offerings of the program included advanced Ph.D. students, postdocs, research staff at national laboratories or industry, and university faculty. Applicants do not need to have DOE funding, and international participants are eligible as well.

What is the ATPESC content/format and how do you anticipate that it will evolve over time?

The program lasts two weeks and is quite intense: days are filled with eight hours of lectures and several hours of hands-on exercises. The location is relatively remote to avoid distractions, and the number of participants is held to around 60 in order to provide interactions between lecturers and participants. All meals are held on site and provide opportunities for dialogues with the lecturers. Participants have access to some of the world’s most powerful computers for open science and are encouraged to bring their codes to work on during the hands-on sessions. The lecturers and their assistants often engage with the participants to explore issues with those codes, as well as the exercises.

We are fortunate to be able to recruit lecturers who are world leaders in their area of expertise, often the creators of the approaches or tools they will cover. We’ve organized the curriculum around seven major areas, and they include the following:

  • Hardware architectures
  • Programming models and languages
  • Numerical algorithms and software
  • Toolkits and frameworks
  • Visualization and data analysis
  • Data intensive computing and I/O
  • Community codes and software engineering

Within most of these topics, multiple options are covered. As an example, programming models presented include advanced MPI and OpenMP, OpenACC, UPC, Chapel, Charm++, hybrid programming, and accelerator programming.

Much of the curriculum covers fundamental topics and will be covered in the next offerings of the program. However, we review the topics each year, and the content evolves to cover new approaches or use cases. For example, in 2015 we added uncertainty quantification and in situ data analysis.

All the lectures are recorded, and the videos as well as the slides are available online. The 2015 lectures can be viewed on the Argonne Training Channel: http://extremecomputingtraining.anl.gov/2015-videos

Next steps if you’re interested in attending (calls to action)

The next offering of the ATPESC will take place July 31 – August 12, 2016. In early 2016, the ATPESC Web site (http://extremecomputingtraining.anl.gov/) will include information and links to the online application process. The deadline for applications is in early May, 2016.