Search NASA⌕ Search

SEARCH · Search NASA

Results for “Compiler Optimizations”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 271 records · Page 15

MLIR loop optimizations for High-Level Synthesis: a case study

High-Level Synthesis (HLS) tools simplify the design of hardware accelerators by automatically generating Verilog/VHDL code starting from a general purpose software programming language. They include a wide range of optimization techniques in the process, most of them performed on a low-level intermediate representation (IR) of the code. Introducing optimizations on a higher level of abstraction could significantly contribute to the automated design process results; for example, polyhedral techniques for the manipulation of loops could have a significant impact on the generated accelerators when applied on a specialized IR. We use loop pipelining as a case study to explore the introduction of compiler-based transformations on top of an existing HLS process. We leverage the Multi-Level Intermediate Representation (MLIR) framework and an external scheduler to implement the required transformations, and couple them with existing HLS tools to evaluate the improvements that loop pipelining brings to the performance of generated accelerators. The proposed approach can be integrated with other high-level transformations on the MLIR representation, combining different techniques to obtain pre-optimized inputs for HLS that do not have to rely on a specific backend tool.

Curzel, Serena↗

NbTa_BCC_SolidSolution_128atoms_VASP6

We performed density functional theory (DFT) calculations for body-centered-cubic (BCC) structures with 128 lattices sites of solid solution binary alloys niobium-tantalum (Nb-Ta). The electronic structures of alloys have been calculated using Vienna Ab initio Simulation Package (VASP). Within this package the DFT approach is used to reduce many-body Schrodinger equation to set of single particle Kohn-Sham (KS) equations. The generalized electronic exchange-correlation functional is described by generalized gradient approximation with the Perdew-Burke-Ernzerhof parametrization. The electron-ion interactions is described by pseudopotentials developed within the plane-wave basis projector augmented-wave (PAW) approach \cite{PAW}. These pseudopotentials are available at the VASP portal (http://cms.mpi.univie.ac.at/vasp/). Our calculations have been run with the pseudopotentials treating s and p semi-core states as valence in case for the elements Nb. For Ta, p semi-core states as valence were chosen. The electronic densities and potentials are expanded over plane-waves with energy cutoff of 350 eV. 2x2x2 k-mesh and normal precision were used. The alloys were modeled by supercell containing 128 randomly distributed atoms. At initial step the atoms occupy perfect bcc lattice cites. This initial structure was optimized until energy changes less than 1e-6 eV, while forces acting on atoms don't exceed 1e-2 eV/angstrom. The electron-ion interaction is described by PAW pseudopotentials. The calculations have been collected by sampling chemical compositions across the entire compositional range. The chemical compositions have been sampled by progressively changing the number of atoms per constituent by 4. For each chemical composition of binaries and ternaries, the first-principle calculations have been run for 100 randomized arrangements of the constituents on the BCC lattice sites. We collected data for a total of 3,100 randomized atomic structures over 31 chemical compositions. The calculations have been collected on NERSC-Perlmutter using the VASP 6.3.2. The VASP calculations for every atomic structure have been performed in 2 main steps: 1. Starting from an ideal body-centered-cubic (BCC) structure, geometry optimization with low precision has been executed to perform a preliminary optimization of the atomic structure. The output for this calculations is available in the files 0.CONTCAR, 0.OUTCAR, rlx1.out. 2. Using the atomic structure resulting from the preliminary geometry optimization, a second geometry optimization has been performed using normal precision. The output for this calculations is available in the files CONTCAR, OUTCAR, rlx2.out, vaspout.h5, and vasprun.xml. Cases 1-10 have been run without generating the file 'vaspout.h5'. Every chemical composition sampled across the composition range in the dataset has its own directory. The convention used to name the directories for ternary alloys is AXBYCZ, where A, B, and C refer to the constituents, and X, Y, and Z are positive integers that represent the number of atoms for each constituent and their values still sum up to 128. Each atomic structure associated with a specific chemical composition has its own sub-directory within the directory of the corresponding chemical composition. The sub-directories for each atomic structure for each chemical composition are named 'case-*', where * is a positive integer that spans all the values from 1 through 100, extremes included. The files contained in each sub-directory 'case-*' for each atomic structure are as follows: FILES contained in each subdirectory with name case-N where N ranges between 11 and 100, extremes included: 1. INCAR: input file that contains various parameters and settings for controlling the behavior of the electronic structure calculations 2. KPOINTS: input file that specifies the Bloch vectors (k points) used to sample the Brillouin zone 3. 0.POSCAR: input file that defines the atomic structure of a system 4. 0.CONTCAR: output file that provides the atomic positions and cell parameters after the first geometry optimization has been run with the precision variable set to PREC=Low in the INCAR file 5. 0.OUTCAR: output file that contains detailed information about the progress of a calculation after the first geometry optimization has been run with the precision variable set to PREC=Low in the INCAR file 6. rlx1.out: file with diagnostic information about the execution of the first geometry optimization with precision variable set to PREC=Low in the INCAR file 7. POSCAR: input file that defines the atomic structure of a system after the first geometry optimization has been run at low precision. This represents the input for the second geometry optimization run with the precision variable set to PREC=Normal in the INCAR file 8. CONTCAR: output file that provides the atomic positions and cell parameters after the second geometry optimization has been run with the precision variable set to PREC=Normal in the INCAR file 9. OUTCAR: output file that contains detailed information about the progress of a calculation after the second geometry optimization has been run with the precision variable set to PREC=Normal in the INCAR file 10. rlx2.out: file with diagnostic information about the execution of the second geometry optimization with precision variable set to PREC=Normal in the INCAR file 11. vaspout.h5: hierarchical HDF5 file containing the inputs and outputs of a VASP calculation. To analyze the data in this file we recommend using py4vasp. This file is only produced if the VASP version used is compiled with HDF5 support 12. vasprun.xml: contains similar information to OUTCAR, but in an xml format. Subdirectories with name case-N, where N ranges between 1 and 10 (extremes included) contain all the files listed above except 'vaspout.h5'. Subdirectories with name case-N, where N ranges between 41 and 60 (extremes included), contain a duplicate copy of the files listed above except for KPOINTS. The names of the duplicate files end with -bis, and correspond to a second VASP calculation that has converged to a different optimized geometry. This research is sponsored by the Artificial Intelligence Initiative as part of the Laboratory Directed Research and Development (LDRD) Program of Oak Ridge National Laboratory, managed by UT-Battelle, LLC, for the US Department of Energy under contract DE-AC05-00OR22725. This work used resources of the Oak Ridge Leadership Computing Facility, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC05-00OR22725, under Directorate Discretionary awards MAT025 (Materials Science) and LRN026 (Machine Learning), and INCITE award MAT201. This work also used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231, under award ERCAP0025216. REFERENCES (1) Kresse, G. and Hafner, J. Ab initio molecular dynamics for liquid metals. Phys. review B 47, 558 (1993). (2) Kresse, G. and Hafner, J. Ab initio molecular-dynamics simulation of the liquid-metal-amorphous-semiconductor transition in germanium. Phys. Rev. B 49, 14251 (1994) (3) Kresse, G. and Furthmüller, J. Efficiency of ab-initio total energy calculations for metals and semiconductors using a plane-wave basis set. Comput. materials science 6, 15-50 (1996) (4) Kresse, G. and Furthmüller, J. Efficient iterative schemes for ab initio total-energy calculations using a plane-wave basis set. Phys. review B 54, 11169 (1996) (5) Kresse, G. and Joubert, D. From ultrasoft pseudopotentials to the projector augmented-wave method. Phys. review b 59, 1758 (1999)

36 MATERIALS SCIENCE↗

TaV_BCC_SolidSolution_128atoms_VASP6

We performed density functional theory (DFT) calculations for body-centered-cubic (BCC) structures with 128 lattices sites of solid solution binary alloys tantalum-vanadium (Tanu-V). The electronic structures of alloys have been calculated using Vienna Ab initio Simulation Package (VASP). Within this package the DFT approach is used to reduce many-body Schrodinger equation to set of single particle Kohn-Sham (KS) equations. The generalized electronic exchange-correlation functional is described by generalized gradient approximation with the Perdew-Burke-Ernzerhof parametrization. The electron-ion interactions is described by pseudopotentials developed within the plane-wave basis projector augmented-wave (PAW) approach. These pseudopotentials are available at the VASP portal (http://cms.mpi.univie.ac.at/vasp/). Our calculations have been run with the pseudopotentials treating s and p semi-core states as valence in case for the element V. For Ta, p semi-core states as valence were chosen. The electronic densities and potentials are expanded over plane-waves with energy cutoff of 350 eV. 2x2x2 k-mesh and normal precision were used. The alloys were modeled by supercell containing 128 randomly distributed atoms. At initial step the atoms occupy perfect bcc lattice cites. This initial structure was optimized until energy changes less than 1e-6 eV, while forces acting on atoms don't exceed 1e-2 eV/angstrom. The electron-ion interaction is described by PAW pseudopotentials. The calculations have been collected by sampling chemical compositions across the entire compositional range. The chemical compositions have been sampled by progressively changing the number of atoms per constituent by 4. For each chemical composition of binaries and ternaries, the first-principle calculations have been run for 100 randomized arrangements of the constituents on the BCC lattice sites. We collected data for a total of 3,100 randomized atomic structures over 31 chemical compositions. The calculations have been collected on NERSC-Perlmutter and OLCF-Summit using the VASP 6.3.2. The VASP calculations for every atomic structure have been performed in 2 main steps: 1. Starting from an ideal body-centered-cubic (BCC) structure, geometry optimization with low precision has been executed to perform a preliminary optimization of the atomic structure. The output for this calculations is available in the files 0.CONTCAR, 0.OUTCAR, rlx1.out. 2. Using the atomic structure resulting from the preliminary geometry optimization, a second geometry optimization has been performed using normal precision. The output for this calculations is available in the files CONTCAR, OUTCAR, rlx2.out, vaspout.h5, and vasprun.xml. Cases 1-10 have been run without generating the file 'vaspout.h5'. Every chemical composition sampled across the composition range in the dataset has its own directory. The convention used to name the directories for binary alloys is AXBY, where A and B refer to the constituents, whereas X and Y are positive integers that represent the number of atoms for each constituent and their values still sum up to 128. Each atomic structure associated with a specific chemical composition has its own sub-directory within the directory of the corresponding chemical composition. The sub-directories for each atomic structure for each chemical composition are named 'case-*', where * is a positive integer that spans all the values from 1 through 100, extremes included. The files contained in each sub-directory 'case-*' for each atomic structure are as follows: FILES contained in each subdirectory with name case-N where N ranges between 11 and 100, extremes included: 1. INCAR: input file that contains various parameters and settings for controlling the behavior of the electronic structure calculations 2. KPOINTS: input file that specifies the Bloch vectors (k points) used to sample the Brillouin zone 3. 0.POSCAR: input file that defines the atomic structure of a system 4. 0.CONTCAR: output file that provides the atomic positions and cell parameters after the first geometry optimization has been run with the precision variable set to PREC=Low in the INCAR file 5. 0.OUTCAR: output file that contains detailed information about the progress of a calculation after the first geometry optimization has been run with the precision variable set to PREC=Low in the INCAR file 6. rlx1.out: file with diagnostic information about the execution of the first geometry optimization with precision variable set to PREC=Low in the INCAR file 7. POSCAR: input file that defines the atomic structure of a system after the first geometry optimization has been run at low precision. This represents the input for the second geometry optimization run with the precision variable set to PREC=Normal in the INCAR file 8. CONTCAR: output file that provides the atomic positions and cell parameters after the second geometry optimization has been run with the precision variable set to PREC=Normal in the INCAR file 9. OUTCAR: output file that contains detailed information about the progress of a calculation after the second geometry optimization has been run with the precision variable set to PREC=Normal in the INCAR file 10. rlx2.out: file with diagnostic information about the execution of the second geometry optimization with precision variable set to PREC=Normal in the INCAR file 11. vaspout.h5: hierarchical HDF5 file containing the inputs and outputs of a VASP calculation. To analyze the data in this file we recommend using py4vasp. This file is only produced if the VASP version used is compiled with HDF5 support 12. vasprun.xml: contains similar information to OUTCAR, but in an xml format. Subdirectories with name case-N, where N ranges between 1 and 10 (extremes included) contain all the files listed above except 'vaspout.h5'. Subdirectories with name case-N, where N ranges between 41 and 60 (extremes included), contain a duplicate copy of the files listed above except for KPOINTS. The names of the duplicate files end with -bis, and correspond to a second VASP calculation that has converged to a different optimized geometry. This research is sponsored by the Artificial Intelligence Initiative as part of the Laboratory Directed Research and Development (LDRD) Program of Oak Ridge National Laboratory, managed by UT-Battelle, LLC, for the US Department of Energy under contract DE-AC05-00OR22725. This work used resources of the Oak Ridge Leadership Computing Facility, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC05-00OR22725, under Directorate Discretionary awards MAT025 (Materials Science) and LRN026 (Machine Learning), and INCITE award MAT201. This work also used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231, under award ERCAP0025216. REFERENCES (1) Kresse, G. and Hafner, J. Ab initio molecular dynamics for liquid metals. Phys. review B 47, 558 (1993). (2) Kresse, G. and Hafner, J. Ab initio molecular-dynamics simulation of the liquid-metal-amorphous-semiconductor transition in germanium. Phys. Rev. B 49, 14251 (1994) (3) Kresse, G. and Furthmuller, J. Efficiency of ab-initio total energy calculations for metals and semiconductors using a plane-wave basis set. Comput. materials science 6, 15-50 (1996) (4) Kresse, G. and Furthmuller, J. Efficient iterative schemes for ab initio total-energy calculations using a plane-wave basis set. Phys. review B 54, 11169 (1996) (5) Kresse, G. and Joubert, D. From ultrasoft pseudopotentials to the projector augmented-wave method. Phys. review b 59, 1758 (1999)

36 MATERIALS SCIENCE↗

NbV_BCC_SolidSolution_128atoms_VASP6

We performed density functional theory (DFT) calculations for body-centered-cubic (BCC) structures with 128 lattices sites of solid solution binary alloys niobium-vanadium (Nb-V). The electronic structures of alloys have been calculated using Vienna Ab initio Simulation Package (VASP). Within this package the DFT approach is used to reduce many-body Schrodinger equation to set of single particle Kohn-Sham (KS) equations. The generalized electronic exchange-correlation functional is described by generalized gradient approximation with the Perdew-Burke-Ernzerhof parametrization. The electron-ion interactions is described by pseudopotentials developed within the plane-wave basis projector augmented-wave (PAW) approach \cite{PAW}. These pseudopotentials are available at the VASP portal (http://cms.mpi.univie.ac.at/vasp/). Our calculations have been run with the pseudopotentials treating s and p semi-core states as valence in case for the elements Nb and V. The electronic densities and potentials are expanded over plane-waves with energy cutoff of 350 eV. 2x2x2 k-mesh and normal precision were used. The alloys were modeled by supercell containing 128 randomly distributed atoms. At initial step the atoms occupy perfect bcc lattice cites. This initial structure was optimized until energy changes less than 1e-6 eV, while forces acting on atoms don't exceed 1e-2 eV/angstrom. The electron-ion interaction is described by PAW pseudopotentials. The calculations have been collected by sampling chemical compositions across the entire compositional range. The chemical compositions have been sampled by progressively changing the number of atoms per constituent by 4. For each chemical composition of binaries and ternaries, the first-principle calculations have been run for 100 randomized arrangements of the constituents on the BCC lattice sites. We collected data for a total of 3,100 randomized atomic structures over 31 chemical compositions. The calculations have been collected on NERSC-Perlmutter and OLCF-Summit using the VASP 6.3.2. The VASP calculations for every atomic structure have been performed in 2 main steps: 1. Starting from an ideal body-centered-cubic (BCC) structure, geometry optimization with low precision has been executed to perform a preliminary optimization of the atomic structure. The output for this calculations is available in the files 0.CONTCAR, 0.OUTCAR, rlx1.out. 2. Using the atomic structure resulting from the preliminary geometry optimization, a second geometry optimization has been performed using normal precision. The output for this calculations is available in the files CONTCAR, OUTCAR, rlx2.out, vaspout.h5, and vasprun.xml. Cases 1-10 have been run without generating the file 'vaspout.h5'. Every chemical composition sampled across the composition range in the dataset has its own directory. The convention used to name the directories for binary alloys is AXBY, where A and B refer to the constituents, whereas X and Y are positive integers that represent the number of atoms for each constituent and their values still sum up to 128. Each atomic structure associated with a specific chemical composition has its own sub-directory within the directory of the corresponding chemical composition. The sub-directories for each atomic structure for each chemical composition are named 'case-*', where * is a positive integer that spans all the values from 1 through 100, extremes included. The files contained in each sub-directory 'case-*' for each atomic structure are as follows: FILES contained in each subdirectory with name case-N where N ranges between 11 and 100, extremes included: 1. INCAR: input file that contains various parameters and settings for controlling the behavior of the electronic structure calculations 2. KPOINTS: input file that specifies the Bloch vectors (k points) used to sample the Brillouin zone 3. 0.POSCAR: input file that defines the atomic structure of a system 4. 0.CONTCAR: output file that provides the atomic positions and cell parameters after the first geometry optimization has been run with the precision variable set to PREC=Low in the INCAR file 5. 0.OUTCAR: output file that contains detailed information about the progress of a calculation after the first geometry optimization has been run with the precision variable set to PREC=Low in the INCAR file 6. rlx1.out: file with diagnostic information about the execution of the first geometry optimization with precision variable set to PREC=Low in the INCAR file 7. POSCAR: input file that defines the atomic structure of a system after the first geometry optimization has been run at low precision. This represents the input for the second geometry optimization run with the precision variable set to PREC=Normal in the INCAR file 8. CONTCAR: output file that provides the atomic positions and cell parameters after the second geometry optimization has been run with the precision variable set to PREC=Normal in the INCAR file 9. OUTCAR: output file that contains detailed information about the progress of a calculation after the second geometry optimization has been run with the precision variable set to PREC=Normal in the INCAR file 10. rlx2.out: file with diagnostic information about the execution of the second geometry optimization with precision variable set to PREC=Normal in the INCAR file 11. vaspout.h5: hierarchical HDF5 file containing the inputs and outputs of a VASP calculation. To analyze the data in this file we recommend using py4vasp. This file is only produced if the VASP version used is compiled with HDF5 support 12. vasprun.xml: contains similar information to OUTCAR, but in an xml format. Subdirectories with name case-N, where N ranges between 1 and 10 (extremes included) contain all the files listed above except 'vaspout.h5'. Subdirectories with name case-N, where N ranges between 41 and 60 (extremes included), contain a duplicate copy of the files listed above except for KPOINTS. The names of the duplicate files end with -bis, and correspond to a second VASP calculation that has converged to a different optimized geometry. This research is sponsored by the Artificial Intelligence Initiative as part of the Laboratory Directed Research and Development (LDRD) Program of Oak Ridge National Laboratory, managed by UT-Battelle, LLC, for the US Department of Energy under contract DE-AC05-00OR22725. This work used resources of the Oak Ridge Leadership Computing Facility, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC05-00OR22725, under Directorate Discretionary awards MAT025 (Materials Science) and LRN026 (Machine Learning), and INCITE award MAT201. This work also used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231, under award ERCAP0025216. REFERENCES (1) Kresse, G. and Hafner, J. Ab initio molecular dynamics for liquid metals. Phys. review B 47, 558 (1993). (2) Kresse, G. and Hafner, J. Ab initio molecular-dynamics simulation of the liquid-metal-amorphous-semiconductor transition in germanium. Phys. Rev. B 49, 14251 (1994) (3) Kresse, G. and Furthmüller, J. Efficiency of ab-initio total energy calculations for metals and semiconductors using a plane-wave basis set. Comput. materials science 6, 15-50 (1996) (4) Kresse, G. and Furthmüller, J. Efficient iterative schemes for ab initio total-energy calculations using a plane-wave basis set. Phys. review B 54, 11169 (1996) (5) Kresse, G. and Joubert, D. From ultrasoft pseudopotentials to the projector augmented-wave method. Phys. review b 59, 1758 (1999)

36 MATERIALS SCIENCE↗

Qompress: Efficient Compilation for Ququarts Exploiting Partial and Mixed Radix Operations for Communication Reduction

Quantum computing is in an era of limited resources. Current hardware lacks high fidelity gates, long coherence times, and the number of computational units required to perform meaningful computation. Contemporary quantum devices typically use a binary system, where each qubit exists in a superposition of the 0 and 1 states. Furthermore, it is often possible to access the 2 or even 3 states in the same physical unit by manipulating the system in different ways. In this work, we consider automatically encoding two qubits into one four-state ququart via a compression scheme. We use quantum optimal control to design efficient proof-of-concept gates that fully replicate standard qubit computation on these encoded qubits.

compilation↗

Computing the Properties of Matter with Leadership Computing Resources (Closeout Report for DE-SC0018121)

In order to add more capabilities to Halide, we have designed a new framework called Tiramisu and integrated this framework into Halide. Since Tiramisu enables Halide to target heterogeneous architectures, our development efforts have been refocused on Tiramisu. Most high-performance computer systems today are complex and increasingly heterogeneous; they may have CPUs, GPUs and FPGAs. Achieving best performance requires taking full advantage of all these different architectures. To address this issue, we have designed Tiramisu, an optimization framework that enables Halide (and other DSLs) to target heterogeneous architectures. Tiramisu is an optimization framework that takes as input a high level, architecture-independent representation of code and a set of scheduling and data mapping commands that guide code transformation. The input can either be generated by a domain-specific language (DSL) compiler such as Halide or directly written by a programmer. Tiramisu then applies the user-specified code and data-layout transformations and generates an architecture-specific, low-level intermediate representation (IR) that takes advantage of modern architectural features such as multicore parallelism, non-uniform memory (NUMA) hierarchies, clusters, and accelerators like GPUs and FPGAs. We integrated Tiramisu within Halide and implemented a representative set of benchmarks to evaluate this integration. Tiramisu is now open source and is available for public use (http://tiramisu-compiler.org/). A paper about Tiramisu was published, it shows that Tiramisu extends Halide with many new capabilities and that Tiramisu can generate efficient code for multicores, GPUs, FPGAs and distributed heterogeneous systems. The performance of code generated by the Tiramisu backends matches or exceeds hand optimized reference implementations. For example, the multicore backend matches the highly optimized Intel MKL library on many kernels and shows speedups reaching 4x over the original Halide. In addition to making Tiramisu more robust, we have used Tiramisu to implement a set of representative tensor operation for constructing baryon building blocks required for multi baryon contractions in LQCD. In order to implement this code, we needed to generalize Tiramisu in two ways: first we needed to support indirect array accesses, and second, we needed to add support for complex numbers to Tiramisu. The code generated by Tiramisu is 6x faster than the reference code. Our efforts towards an MPI based multi-node version of tiramisu have matured and the resulting code scales well on multiple nodes (tests up to 512 KNL nodes have been undertaken).

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Encoding trade-offs and design toolkits in quantum algorithms for discrete optimization: coloring, routing, scheduling, and other problems

Challenging combinatorial optimization problems are ubiquitous in science and engineering. Several quantum methods for optimization have recently been developed, in different settings including both exact and approximate solvers. Addressing this field of research, this manuscript has three distinct purposes. First, we present an intuitive method for synthesizing and analyzing discrete (i.e., integer-based) optimization problems, wherein the problem and corresponding algorithmic primitives are expressed using a discrete quantum intermediate representation (DQIR) that is encoding-independent. This compact representation often allows for more efficient problem compilation, automated analyses of different encoding choices, easier interpretability, more complex runtime procedures, and richer programmability, as compared to previous approaches, which we demonstrate with a number of examples. Second, we perform numerical studies comparing several qubit encodings; the results exhibit a number of preliminary trends that help guide the choice of encoding for a particular set of hardware and a particular problem and algorithm. Our study includes problems related to graph coloring, the traveling salesperson problem, factory/machine scheduling, financial portfolio rebalancing, and integer linear programming. Third, we design low-depth graph-derived partial mixers (GDPMs) up to 16-level quantum variables, demonstrating that compact (binary) encodings are more amenable to QAOA than previously understood. We expect this toolkit of programming abstractions and low-level building blocks to aid in designing quantum algorithms for discrete combinatorial problems.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

A Scaling-based Applicability Assessment of the CAER Integrated Systems Test Facility

This paper presents a scaling-based applicability assessment of the Integrated Systems Test (IST) facility located at the Center of Advanced Engineering Research in Forest, Virginia. The assessment draws upon both traditional and contemporary scaling methods, seeking an optimal representation of light water reactor (LWR) and small modular reactor (SMR) characteristics during design-basis events. Based on published LWR loss-of-coolant-accident phenomena identification and ranking tables compiled with a similar assessment completed by BWXT mPower, Inc., for the mPower{sup TM} SMR, the phenomena considered in the IST design include break flow, decay heat, loop thermal-hydraulics, and primary-to-secondary heat transfer. Among these, the single- and two-phase natural circulation and system depressurization, by association to loop thermal-hydraulics, were the principal challenges. (authors)

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

An ALMA survey of sub-millimeter galaxies in the extended Chandra deep field south: Physical properties derived from ultraviolet-to-radio modeling

The ALESS survey has followed up on a sample of 122 sub-millimeter sources in the Extended Chandra Deep Field South at 870 μm with the Atacama Large Millimeter Array (ALMA), allowing us to pinpoint the positions of sub-millimeter galaxies (SMGs) to ∼0.3 arcsec and to find their precise counterparts at different wavelengths. This enabled the first compilation of the multi-wavelength spectral energy distributions (SEDs) of a statistically reliable survey of SMGs. In this paper, we present a new calibration of the magphys SED modeling code that is optimized to fit these ultraviolet-to-radio SEDs of z>1 star-forming galaxies using an energy balance technique to connect the emission from stellar populations, dust attenuation, and dust emission in a physically consistent way. We derive statistically and physically robust estimates of the photometric redshifts and physical parameters (such as stellar masses, dust attenuation, star formation rates (SFRs), and dust masses) for the ALESS SMGs. We find that the ALESS SMGs have median stellar mass M{sub ∗}=8.9±0.1×10{sup 10} M{sub ⊙}, median SFR = 280±70 M{sub ⊙} yr{sup −1}, median overall V-band dust attenuation A{sub V}=1.9±0.2 mag, median dust mass M{sub dust}=(5.6±1.0)×10{sup 8} M{sub ⊙}, and median average dust temperature T{sub dust}≃40 K. We find that the average intrinsic SED of the ALESS SMGs resembles that of local ultra-luminous infrared galaxies in the infrared range, but the stellar emission of our average SMG is brighter and bluer, indicating lower dust attenuation, possibly because they are more extended. We explore how the average SEDs vary with different parameters (redshift, sub-millimeter flux, dust attenuation, and total infrared luminosity), and we provide a new set of SMG templates that can be used to interpret other SMG observations. To put the ALESS SMGs into context, we compare their stellar masses and SFRs with those of less actively star-forming galaxies at the same redshifts. We find that at z≃2, about half of the SMGs lie above the star-forming main sequence (with SFRs three times larger than normal galaxies of the same stellar mass), while half are consistent with being at the high-mass end of the main sequence. At higher redshifts (z≃3.5), the SMGs tend to have higher SFRs and stellar masses, but the fraction of SMGs that lie significantly above the main sequence decreases to less than a third.

79 ASTRONOMY AND ASTROPHYSICS↗

Benchmarking a Proof-of-Concept Performance Portable SYCL-based Fast Fourier Transformation Library

ABSTRACT In this paper, we present an early version of a SYCL-based FFT library, capable of running on all major vendor hardware, including CPUs and GPUs from AMD, ARM, Intel and NVIDIA. The current limitations of our library is it supports single-dimension FFTs up to 211 in length and base-2 input sequences. Although preliminary, the aim of this work is to seed further developments for a rich set of features for calculating FFTs. The library has the advantage over existing portable FFT libraries in that it is single-source, and there- fore removes the complexities that arise due to abundant use of pre-processor macros and auto-generated kernels to target different architectures. We exercise two SYCL-enabled compilers, Codeplay ComputeCpp and Intel's open-source LLVM project, to evaluate performance portability of our SYCL-based FFT on various hetero- geneous architectures.We provide studies comparing our portable library with highly optimized vendor-specific FFT libraries, and discuss potential sources hindering performance.

97 MATHEMATICS AND COMPUTING↗

Concepts and Meta-Programming Library

CAMP provides a portable optimized implementation of template meta-programming primitives. All capabilities found within are available in other open source projects, including metal and mpl among others, but no other library we know of supports all compilers required by LLNL codes. CAMP serves as an efficient facility for writing portable compile-time operations in C++ codes. It was developed as part of the RAJA project to facilitate more complex compile-time introspection and better error message delivery to users, but has since proven useful in Umpire, CHAI and other pre-release LLNL software projects and is thus being re-factored to stand alone. The CAMP library uses portable C++ template mechanisms almost exclusively, with the exception of intrinsics provided for performance by some compilers such as clang and gee. There are no private or protected interfaces and no proprietary information included in the source. Any and all future versions will limit themselves to implementing commonly available and well known primitives for compile-time manipulation of types. A new public github repository will be created to host the code independent of its current location in the raja repository, likely at github.com/llnl/camp.

Kunen, AdamJ.↗

The Institute for Sustained Performance, Energy, and Resilience Final Project Report

Over the course of the five years of the Scientific Discovery through Advanced Computation (SciDAC-3) program, computational scientists working on behalf of the Department of Energy's Office of Science (DOE SC) exploited a new generation of petascale computing resources to make previously inaccessible discoveries in a broad range of disciplines including physics, chemistry, and materials science. The computing systems underpinning this work increased in performance potential from tens to hundreds of PFlop/s, but in the process evolving significantly from architectures in 2011, when SciDAC-3 began. Although Moore's law continues unabated, the end of Dennard scaling has necessitated a fundamental shift in computer architecture focused on power efficiency. To that end, processors are increasingly varied as they strive to satisfy performance, productivity, reliability, and energy efficiency in the face of divergent computational requirements. The diversity among these machines presents a number of challenges to merely porting today's scientific applications, much less achieving good performance. Therefore, at the beginning of SciDAC-3, USC and its collaborators anticipated that both vastly increased scale (e.g., more chips, more cores per chip, wider SIMD) and heterogeneity would exacerbate performance optimization challenges while simultaneously promoting the issues of energy and heterogeneity will exacerbate performance optimization challenges while simultaneously promoting the issues of energy consumption and resilience to the forefront. To ensure that DOE's computational scientists could successfully exploit emerging high performance computing (HPC) systems, DOE SC’s Advanced Scientific Computing Research Program (ASCR) funded the SciDAC-3 Institute for Sustained Performance, Energy, and Resilience (SUPER). Led by USC, this was a broadly based project with expertise in compilers and system tools, performance engineering, energy management, and resilience. SUPER followed the successful model developed in the previous SciDAC-2 Performance Engineering Research Institute (PERI) of leveraging the research investments DOE and others have made and integrating the results to create new capabilities beyond the reach of any one group. To accomplish this, SUPER was organized into multi-institution teams conducting the research activities in performance portability, energy efficiency, exascale resilience, and overall optimization. SUPER researchers also collaborated with other SciDAC-3 institutes, 13 of the 19 Scientific Computation Application Partnerships (SAP), as well as the broader DOE computational sciences community. These collaborations both focused our research on the real challenges facing petascale scientific computing as well as ensured the broad and immediate impact of the results of our research.

97 MATHEMATICS AND COMPUTING↗

Architecture Independent Integrated Early Performance and Energy Estimation

The end of Dennard’s scaling, coupled to the necessity to keep increasing computational performance in constrained power envelopes, is leading developers towards the need to opti- mize applications not only for performance, but also for energy consumption. In such a scenario, solutions that enable estimating performance and energy consumption of a program as early as possible, even during development and without the necessity to access the final target hardware, can become fundamental tools to reduce the design space, the optimization effort, and provide potential opportunities to automate the optimization process itself. In this position paper, we discuss the design of a performance and energy estimation framework based on a retargetable com- piler. Our proposed approach targets the Intermediate Repre- sentation (IR) of the LLVM compiler. The IR based approach enables, after a model is built, estimation from a host different from the target architecture, even considering dynamic infor- mation. We present the rationale behind such a framework, identify opportunities and components readily available (such as the provided static analysis, quick ways to add instrumentation for dynamic profiling, and the multiple backends), and aspects that still need further research efforts (such as more effective non-linear, or machine learning based models). We also discuss a hand-developed case study, based on a simple sparse matrix vector multiplication with a linear model, to motivate the needs for such a framework.

Estimation, Compilers, Performance Analysis↗

Scaling Semantic Graph Databases in Size and Performance

In this paper we present SGEM, a full software system for accelerating large-scale semantic graph databases on commodity clusters. Unlike current approaches, SGEM addresses semantic graph databases by only employing graph methods at all the levels of the stack. On one hand, this allows exploiting the space efficiency of graph data structures and the inherent parallelism of graph algorithms. These features adapt well to the increasing system memory and core counts of modern commodity clusters. On the other hand, however, these systems are optimized for regular computation and batched data transfers, while graph methods usually are irregular and generate fine-grained data accesses with poor spatial and temporal locality. Our framework comprises a SPARQL to data parallel C compiler, a library of parallel graph methods and a custom, multithreaded runtime system. We introduce our stack, motivate its advantages with respect to other solutions and show how we solved the challenges posed by irregular behaviors. We present the result of our software stack on the Berlin SPARQL benchmarks with datasets up to 10 billion triples (a triple corresponds to a graph edge), demonstrating scaling in dataset size and in performance as more nodes are added to the cluster.

Aggregation↗

Static and Dynamic Frequency Scaling on Multicore CPUs

Dynamic voltage and frequency scaling (DVFS) adapts CPU power consumption by modifying a processor’s operating frequency (and the associated voltage). Typical approaches employing DVFS involve default strategies such as running at the lowest or the highest frequency, or observing the CPU’s runtime behavior and dynamically adapting the voltage/frequency configuration based on CPU usage. In this paper, we argue that many previous approaches suffer from inherent limitations, such as not account- ing for processor-specific impact of frequency changes on energy for different workload types. We first propose a lightweight runtime-based approach to automatically adapt the frequency based on the CPU workload, that is agnostic of the processor characteristics. We then show that further improvements can be achieved for affine kernels in the application, using a compile-time characterization instead of run-time monitoring to select the frequency and number of CPU cores to use. Our framework relies on a one-time energy characterization of CPU-specific DVFS profiles followed by a compile-time categorization of loop-based code segments in the application. These are combined to determine a priori of the frequency and the number of cores to use to execute the application so as to optimize energy or energy-delay product, outperforming runtime approach. Extensive evaluation on 60 benchmarks and five multi-core CPUs show that our approach systematically outperforms the powersave Linux governor, while improving overall performance.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Enabling Pulse-level Programming, Compilation, and Execution in XACC

Noisy gate-model quantum processing units (QPUs) are currently available from vendors over the cloud, and digital quantum programming approaches exist to run low-depth circuits on physical hardware. These digital representations are ultimately lowered to pulse-level instructions by vendor quantum control systems to affect unitary evolution representative of the submitted digital circuit. Vendors are beginning to open this pulse-level control system to the public via specified interfaces. Robust programming methodologies, software frameworks, and backend simulation technologies for this analog model of quantum computation will prove critical to advancing pulse-level control research and development. Prototypical use cases for this include error mitigation, optimal pulse control, and physics-inspired pulse construction. Here we present an extension to the XACC quantum-classical software framework that enables pulse-level programming for superconducting, gate-model quantum computers, and a novel, general, and extensible pulse-level simulation backend for XACC that scales on classical compute clusters via MPI. Our work enables custom backend Hamiltonian definitions and gate-level compilation to available pulses with a focus on performance and scalability. We end with a demonstration of this capability, and show how to use XACC for pertinent pulse-level programming tasks.

97 MATHEMATICS AND COMPUTING↗

An updated LLVM-based quantum research compiler with further OpenQASM support

Abstract Quantum computing is a rapidly growing field with the potential to change how we solve previously intractable problems. Emerging hardware is approaching a complexity that requires increasingly sophisticated programming and control. Scaffold is an older quantum programming language that was originally designed for resource estimation for far-future, large quantum machines, and ScaffCC is the corresponding LLVM-based compiler. For the first time, we provide a full and complete overview of the language itself, the compiler as well as its pass structure. While previous works Abhari et al (2015 Parallel Comput. 45 2–17), Abhari et al (2012 Scaffold: quantum programming language https://cs.princeton.edu/research/techreps/TR-934-12 ), have piecemeal descriptions of different portions of this toolchain, we provide a more full and complete description in this paper. We also introduce updates to ScaffCC including conditional measurement and multidimensional qubit arrays designed to keep in step with modern quantum assembly languages, as well as an alternate toolchain targeted at maintaining correctness and low resource count for noisy-intermediate scale quantum (NISQ) machines, and compatibility with current versions of LLVM and Clang. Our goal is to provide the research community with a functional LLVM framework for quantum program analysis, optimization, and generation of executable code.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

CAASCADE: A System for Static Analysis of HPC Software Application Portfolios

With the increasing complexity of upcoming HPC systems, so-called “co-design” efforts to develop the hardware and applications in concert for these systems also become more challenging. It is currently difficult to gather information about the usage of programming model features, libraries, and data structure considerations in a quantitative way across a variety of applications, and this information is needed to prioritize development efforts in systems software and hardware optimizations. In this paper we propose CAASCADE, a system that can harvest this information in an automatic way in production HPC environments, and we show some early results from a prototype of the system based on GNU compilers and a MySQL database.

Lopez, Graham↗