Servers & Systems: The Right Compute
1753259 Members
6379 Online
108792 Solutions
New Article
AdvEXperts

Beginning a new journey at an inflection point in HPC development

With more users than ever, we are experiencing a growing diversity of HPC applications—from traditional supercomputing to data analytics and the combined use of HPC and AI.

By Barbara Chapman, HPE Distinguished Technologist

HPE-Chapman-OpenACC.png

We’re pleased to introduce Barbara Chapman, HPE Distinguished Technologist and software architect for the HPE Cray Programming Environment. Barbara comes to HPE with a wealth of parallel programming experience and passion. She serves on the board of OpenMP and was recently appointed to the board of the OpenACC organization. HPE welcomes Barbara and celebrates our ongoing commitment to the development of standardized parallel programming models.  

According to an old saying, good thing come in pairs.  Right now, I can relate to that as seldom before. I recently joined HPE as part of their HPE Cray Programming Environment team, and just a short while ago I became part of the leadership team of the OpenACC organization.

This is a very exciting time for me. I’ve been involved in the design, implementation, standardization, and dissemination of parallel programming models for the entirety of my career. My journey began as a professor and researcher, first at Southampton University, and continued at the University of Houston and subsequently at Stony Brook University as well as an additional role with the U.S. Department of Energy’s Brookhaven National Lab. I still vividly recall co-organizing the very first academic conference on OpenMP in Sweden in 1999, shortly after my own graduation and at a time when this directive-based set of parallel programming directives was brand new. So parallel programming and I go back a long way.

When I was given the opportunity to join HPE as an HPE Distinguished Technologist and software architect for the HPE Cray Programming Environment, I was thrilled to accept. HPE has a longstanding commitment to the highest quality developer tools and to community development work for HPC.

Programming tools to meet the challenges of HPC

It’s the dream of a lifetime to work with a team of dedicated experts to reimagine their support for application development and deployment at an inflection point in HPC. With more users than ever, we are experiencing a growing diversity of HPC applications—from traditional supercomputing to data analytics and the combined use of HPC and AI.

At the same time, the computing platforms themselves, along with the manner in which they are deployed, are undergoing dramatic change. In addition to supporting a greater diversity of architectures than ever before, the programming tools will need to meet the needs of application developers who are creating complex workflows that may span a variety of hardware resources including, but not limited to, HPC systems. HPE Cray Programming Environment will also be used to create and run applications in the cloud. We intend to evolve the toolset to meet all of these requirements—a major undertaking!

The important role of OpenACC

OpenACC was developed to fill the gap in directive support that emerged when GPUs were first configured on supercomputers.

Since they provide increased compute power with just a modest increase in power consumption, GPUs have played a large role in the drive to build more energy efficient HPC systems ever since.  OpenACC has been used by leading application developers around the world to develop code bases that exploit the capabilities of these systems.

The OpenACC organization continues to support those applications and to refine the feature set to meet their evolving needs. It is also engaged in a lively discussion on future approaches to parallel programming, where it is envisaged that the community may be able to rely on standard programming languages to cover many of their needs. I look forward to increasing HPE participation in these discussions.

Yet the OpenACC organization has a much broader mission: in addition to working on the specification, it is committed to improving the entire ecosystem for application development and deployment and it has a special focus on training and education on parallel programming models and tools.

Indeed, the OpenACC user engagement program is exemplary. I look forward to strong participation by HPE in these activities as I believe that training is essential in the context of today’s broad and complex HPC/AI landscape.

OpenMP: a user API and target for higher-level programming abstractions

I am no stranger to standards for parallel programming directives. I have been engaged in OpenMP and its community ever since that first workshop. My efforts have taken many forms—from working to give researchers a voice in the development of its specification, by means of an organization called cOMPunity, via participating in language-committee meetings, to establishing regular workshops devoted to OpenMP and its usage.

OpenMP today is taking on a pivotal role as it seeks to be both a user API as well as the target for other, higher-level programming abstractions.

To enable this, and to ensure it can handle the complexity of today’s applications and target platforms, including accelerator devices, OpenMP’s feature set was expanded significantly in version 5.0. As a result, providing a full implementation is a significant effort.

The current HPE Cray Programming Environment delivers a near-complete implementation of OpenMP 5.0 (and some features of version 5.2) for all base languages and for both AMD and Intel processors as well as NVIDIA and AMD GPUs.  As such, it is one of the most advanced implementations available.

I joined the OpenMP board of directors in 2018 and am pleased to be joined on the board by Jack Dongarra. In my first HPE blog, I would like join all of HPE in congratulating Jack on his Turing Award and thanking him for his extensive, on-going contributions to the HPC community. 

What lies ahead

As I embark on the twin journeys of further developing the HPE Cray Programming Environment and working to support the mission of the OpenACC specification, these are some topics I’m thinking about:  

Managing complexity

Our computer platforms are much more complex systems than they’ve ever been before and we’re all expecting more heterogeneity in future. This may come in a variety of forms including but not limited to more GPUs on the node, more specialization in chips, and tighter integration between the CPU and GPU. We must be ready for new kinds of hardware, for changes to existing hardware that strongly affect application development, and for more changes in the user base. A key issue for us is managing the complexity, so it’s as easy as possible to create efficient parallel applications

Open standards

Open, standard approaches to parallel programming are essential if we are to enable our users to successfully deploy their complex applications on a variety of computing platforms.   HPE is committed to supporting the latest programming language standards, and similarly strives to provide support for a variety of standard parallel programming models. In that space, directives are of great importance. 

We need to continue to provide up-to-date high quality implementations of the major programming languages, work with our partners to maximize our collective ability to support performance portability as well as enable interoperability of our respective products, remain at the forefront of advances in programming models, understand and respond to old and new requirements, and meet the needs of diverse users. It means not only being relevant, but ahead of the game.

Community 

Building a vibrant community of parallel programming developers is critical to success. I recently had the opportunity to meet some HPE Cray Programming Environment customers at this year’s Cray User Group meeting and was impressed by their enthusiasm for and dedication to the use of advanced parallel programming techniques to support scientific endeavor.

As HPC becomes more widely used to support scientific and technical endeavors, and as it is increasingly interwoven with desktop applications, data analytics and machine learning, we need to help both new and established practitioners understand the power and potential of our compilers and tools, as well as of the programming languages and parallel programming models that we supply.

As new hardware and software introduces new challenges for performance tuning, in particular, we must disseminate knowledge about the key challenges, and awareness of how tools may help them overcome obstacles in their code. Of course, we mut also grow our own user community, and as part of that, we are going to work to make our programming environment more widely accessible and deployable in a broader variety of usage scenarios going forward.

In addition to engaging with our customer base, we must also interact with other application developers and respond to the needs of both the high end and entry-level user. I look forward to interacting with the wider community and, in collaboration with our OpenACC partners, growing the wider community of parallel programmers.

Speaking of building community…

I look forward to sharing more as we continue our work at HPE to evolve the HPE Cray Programming Environment, and as we work closely with the OpenACC and OpenMP organizations. Keep following this space!

If you’re attending ISC High Performance 2022, please join me for our focus session Advances in OpenMP on Monday, May 30 at 5: 15 pm, Hall G1. and attend the BOFs on OpenMP or OpenACC on Tuesday, May 31 at 4:15 pm.


chapman-talk.pngMeet Barbara Chapman, HPE Distinguished Technologist and software architect for the HPE Cray Programming Environment

Barbara Chapman serves as software architect for the HPE Cray Programming Environment. She has been a professor of computer science for over 20 years, performing research on parallel programming interfaces and their implementation, most recently at Stony Brook University where she has served as a professor of computer science and applied mathematics and statistics. Until her appointment at HPE, Dr. Chapman served as Chair of the Department of Computer Science and Mathematics at the Department of Energy’s Brookhaven National Laboratory. With over 200 publications in the area, Dr. Chapman has been extensively engaged in efforts to develop community standards for parallel programming, including OpenMP, OpenACC and OpenSHMEM. She is on the Board of Directives of the OpenMP Architecture Review Board and is Vice President of OpenACC.org, the OpenACC Consortium.  Dr. Chapman remains affiliated with the Department of Computer Science and the Institute for Advanced Computational Science at Stony Brook University.

About the Author

AdvEXperts

Our team of Hewlett Packard Enterprise Advantage EX experts helps you dive deep into high performance computing and supercomputing topics.