What can you do with 381,392 CPU cores? For Cineca, it means enabling computational scientists to expand a large part of the world’s body of knowledge from the nanoscale to the astronomic, from calculating quantum effects in new materials to supporting bioinformatics for advanced healthcare research to screening millions of possible chemical combinations to attack a deadly virus.
Cineca hosts Italy’s most powerful supercomputing resource at its Supercomputing Applications and Innovation (SCAI) center. Called Marconi, the 20 petaflops system provides computing for projects in Italy and across Europe. Marconi is one of the European Center of Excellence (CoE) for HPC applications, and it is part of the EuroHPC project, a joint collaboration across the EU to develop Exascale computing facilities. Among the many groups Cineca supports with supercomputing, is the Materials Design at Exascale (MaX) project, also a European CoE.
Marconi—On the Path to Exascale
“Marconi was Cineca’s first step in its roadmap to achieve exascale computing by 2022,” explained Doctor Carlo Cavazzoni, R&D director for HPC Optimization Strategies for SCAI. Cavazzoni holds a Ph.D. in Materials Science, and he is a developer for parallelized codes used in research.
“At Cineca, we always try to stay on the competitive edge with advanced computing resources,” added Cavazzoni. “We are often the first to install new technologies, such as the BlueGene/Q cluster in 2012 and Marconi’s early release of Intel Xeon Phi with Intel Omni-Path Architecture fabric in 2016 and Intel Xeon Scalable Platform in 2017.”
Having the technology first, gives developers like Cavazzoni immediate opportunities to optimize codes, such as Quantum ESPRESSO (QE), for these next-generation architectures. Cavazzoni has contributed to the QE project for 20 years. He is integral to optimizing multiple workloads that use QE on Marconi’s Intel Xeon Phi processor-based cluster. He has also supported work on proprietary plasma physics codes to run on Intel Xeon Phi’s many integrated core (MIC) architecture. Those optimizations have enabled significant speedups on projects running on Marconi.
Optimizing Codes for Marconi
“With QE we optimized the code across several directions,” said Cavazzoni. “The easiest was vectorization, because, with QE, most of the compute-intensive portion of the code is done in libraries, like the Intel Math Kernel Library—Intel MKL. With codes that perform a lot of floating-point computation, we rely on Intel MKL to exploit vectorization. Then we tuned the scalability using a hierarchy of MPI and OpenMP threading to minimize synchronization.”
According to Professor Cavazzoni, they’ve had to optimize scalability before. With a balanced design of compute, memory, and network on one supercomputer, they tuned their codes to optimize throughput. But when next-generation technologies come along, such as with MIC architecture, Intel Advanced Vector Extensions 512 (Intel AVX-512), multi-channel DRAM (MCDRAM), and 100 Gbps network, the balance changes. “The core is fast, the Intel AVX-512 makes floating point much faster, and the network is faster, but now there are sections of the code that are latency-bound and slow down synchronization,” explained Cavazzoni. “To exploit the advancements of Marconi, we had to revisit the synchronization. So, we grouped together bands in a simulation to perform a batch computation in order to adjust for this latency issue in certain parts of the code.”
But not all projects use QE. In a plasma simulation code Cavazzoni helped optimize, the problems were different. To begin with, there were no libraries. There were just big equations and lots of data.
“The plasma simulation code used Vlasov-Maxwell system of equations. It solves an explicit evolution of a six-dimensional field with three space variables and three velocity variables. So, you have a 6D model representing the plasma field, and then there’s the Maxwell equation to solve for the electrical fields,” said Cavazzoni.
To optimize this code, he first took advantage of much wider floating point registers of the processors and thus expanded the vectorization for Intel AVX-512. That delivered speedup from just the processor.
“We were also dealing with parallelization across multiple dimensions, which we were processing both locally in the node and distributed across the cluster. So, we had to find the optimum distribution of MPI and OpenMP threads in order to best fit to the Intel Xeon Phi topology, and then we needed to find the best distribution of data for the threading.”
These optimizations gave the plasma code a significant speedup due to the vectorization on one side, plus optimal distribution of threads and data on the other, according to Cavazzoni.
Discoveries at the Nanoscale
Cavazzoni provides optimization services for members of Cineca in Italy and the wider European research community working on advanced projects, such as the Materials Design at Exascale (MaX) project. Among his colleagues is Doctor Andrea Ferretti of the National Research Council (CNR), a national laboratory in Italy. Ferretti works in the field of condensed matter and solid-state physics. Like Cavazzoni, he is both a physicist and code developer. He performs ab initio simulations at the level of Density Functional Theory (DFT) and beyond using codes like QE and YAMBO.
YAMBO is a code for many-body calculations in solid state and molecular physics, which can be applied to materials and molecules.
“My involvement with developing YAMBO, along with other colleagues, is more or less the connection between myself, CRN, Cineca, and the MaX CoE,” stated Ferretti. “In MaX, we are interested in implementing high performance algorithms suitable for highly scalable large HPC machines. These include algorithms that allow us to compute properties of matter that were not possible to compute before, such as time-resolved spectroscopies or accurate thermal transport coefficients. We have also been expanding the parallelism of the code, which is crucial for running on Marconi’s Intel Xeon Phi cluster.”
One of Ferretti’s main achievements with YAMBO was to run an optimized proof of concept on a 1,000 node partition of the Intel Xeon Phi cluster.
“In that single MPI run, we were able to achieve up to 3 petaflops of performance with this code. Similarly to Quantum Monte Carlo, many-body perturbation theory methods require large-scale intense computation, so it’s ideal to use large-scale partition machines for these. We were able to maximize the performance on this cluster with our code.”
Another project Ferretti contributed to was accurate modeling of spin interfaces of molecules. Research in spin interfaces is important to “spintronics.” Spintronics is an area of technology research that uses and modifies the magnetic moment (or spin) of an electron. For example, by changing the spin on an electron, data can be encoded on a single atom. Quantum computing and extreme density magnetic storage are potential applications of electron spin. But spin interfaces using certain materials have exhibited instability over changing temperatures.
“We wanted to simulate a model of ferromagnetic and antiferromagnetic coupling of spin interfaces that had been started experimentally,” commented Ferretti. “Colleagues in the lab were able to characterize the system very well, so we knew a lot about it already and could use the data from experimentation to build a very accurate (though expensive) model to simulate.”
The system turned out to be very, very large, and they were dealing with atomic values that are very, very small.
“Magnetism at the molecular level is very dependent on a delicate balance between different total energy solutions,” added Ferretti. “The actual atomic structure of the system determines the actual magnetic coupling. Yet, we are looking at energy differences that are six or seven orders of magnitude smaller than the total energies we can compute. So, if we want our model to be predictive, we need to be as precise as possible; we cannot oversimplify the problem with loose approximations. That takes a lot of computing power.”
Marconi made it possible to simulate the system as close as possible to the experimental data. The researchers were able to go on to illustrate an advanced organic spin-interface architecture with thermal stability using graphene as a mediator between the metal molecules being affected and an underlying Cobalt layer. The research is a step toward innovating nanoscale systems and devices such as single molecular magnets.
Graphene is promising for a number of electronic applications at nanoscale. Formed into graphene nanoribbons (GNRs) it has been theorized they can be used for nanoscale light-emitting devices with controllable color emissions. But the experimental research is limited, and it has not integrated them into nanoscale electronic circuits with tunable color. Ferretti’s computational work on Marconi, along with experimentation, illustrated a novel approach to studying the electroluminescent properties of GNRs. “This research further confirms that atomic precision control of a structure integrated with a GNR can change the emission color of the ribbon. This opens the door to further research into production of GNR materials with predictable, tunable properties, whereby they can be functionally used in nanoscale circuits.”
These are only a few ways Marconi is helping to expand the world’s body of knowledge and bring insight into a host of scientific research. According to Cavazzoni, “at least 50 percent of Marconi is dedicated to larger European computational projects. A large part of that is in materials research, such as that of Doctor Ferretti. But, we also contribute to computational science in astrophysics, engineering, earth science—including weather and climate—high-energy physics, quantum chromodynamics (QCD), and bioinformatics. These are the main drivers of Marconi production.”
The next step for Cineca toward exascale is to add a 50 petaflops supercomputer in the next few years. That will enable even greater discoveries in the near future.