As is often noted the race to exascale computing isn’t just about hardware. This week the U.S. Exascale Computing Project (ECP) released its latest Software Technology (ST) Capability Assessment Report detailing progress so far. Given the ECP Software Technology’s wide scope – it’s contributing to 89 software projects in five technical areas – the report writers did the HPC community a favor by including a section with two-page summaries of each ST project.
This description of the five technical areas ST is focusing on is excerpted from the report’s executive summary:
- “Programming Models & Runtimes. ECP ST is developing key enhancements to MPI and OpenMP, addressing in particular the important design and implementation challenges of combining massive inter-node and intra-node concurrency into an application. We are also developing a diverse collection of products that further address next generation node architectures, to improve realized performance, ease of expression and performance portability.
- “Development Tools. We are enhancing existing widely used performance tools and developing new tools for next-generation platforms. As node architectures become more complicated and concurrency even more necessary, impediments to performance and scalability become even harder to diagnose and fix. Development tools provide essential insight into these performance challenges and code transformation and support capabilities that help software teams generate efficient code, utilize new memory systems and more.
- “Mathematical Libraries. High performance scalable math libraries have enabled parallel execution of many applications for decades. ECP ST is providing the next generation of these libraries to address needs for latency hiding, improved vectorization, threading and strong scaling. In addition, we are addressing new demands for system-wide scalability including improved support for coupled systems and ensemble calculations. The math libraries teams are also spearheading the software development kit (SDK) initiative that is a pillar of the ECP ST software delivery strategy (Section 1.2.1).
- “Data & Visualization. ECP ST has a large collection of data management and visualization products that provide essential capabilities for compressing, analyzing, moving and managing data. These tools are becoming even more important as the volume of simulation data we produce grows faster than our ability to capture and interpret it.
- “SW Ecosystem & Delivery. This new technical area of ECP ST provides important enabling technologies such as containers and experimental OS environments that allow ECP ST to provide requirements, analysis and design input for vendor products. This area also provides the critical resources and staffing that will enable ECP ST to perform continuous integration testings, and product releases. Finally, this area engages with software and system vendors, and DOE facilities staff to assure coordinated planning and support of ECP ST products.”
These are, of course, familiar topics, and presented in some detail: scope and requirements; assumptions and feasibility; objectives; plan; and risks and mitigation strategies. ECP ST leaders have committed to updating the work – primarily this document – every six months. Of the 89 products touched on, 33 are “broadly used” in the HPC world according to the report. It’s best to just dig in and find areas of relevance to one’s work. An outline of ECP structure, including the ST effort, shown below; click to enlarge.
Of interest is that ECP ST has initiated two new efforts in Fast Fourier Transforms (FFTs). The report notes HPC vendors have long provided optimized FFT libraries for their users. The advent of FFTW, a tunable high-performance library with a well-designed interface, enabled a de facto standardization of FFT interfaces, and an effective source base for vendor libraries, which adapted FFTW source for their platforms.
“While vendors are still committed to providing optimized FFT libraries, whether or not FFTW is available, we believe it is prudent to explore a new software stack and have funded a short-term project to explore this possibility,” according to the report. “The new library will also explore problem formulations that could significantly reduce the computational cost of FFTs. This new effort, called FFTX, will be led by Lawrence Berkeley National Lab.”
A second FFT project will address a “consensus opportunity to provide a sustainable 3D FFT library built from established but ad hoc software tools that have traditionally been part of application codes, but not extracted as independent, supported libraries.” This second project, FFT-ECP, is led by the University of Tennessee.
A third new project involves funding to support adaptation of hypre in preparation for Exascale platforms at science lab facilities, e.g., Argonne, and for ECP science applications. This was not part of the original ECP ST portfolio. “We have added funding for this effort, starting in June 2018. In addition, we provided new funding for another LLNL math library, MFEM, so that the MFEM team can participate in SDK efforts for math libraries.”
Shown below is a view of ECP ST projects and how they are expected to be delivered t the HPC community; click to enlarge.
Link to the ECP ST Assessment Report: https://www.exascaleproject.org/wp-content/uploads/2018/07/ECP-ST-CAR-Public-2018-07-01.pdf