Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Mathematical software performance”

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 91 records · Page 5

An extension to V ORO ++ for multithreaded computation of Voronoi cells

V ORO ++ is a software library written in C++ for computing the Voronoi tessellation, a technique in computational geometry that is widely used for analyzing systems of particles. V ORO ++ was released in 2009 and is based on computing the Voronoi cell for each particle individually. Here, we take advantage of modern computer hardware, and extend the original serial version to allow for multithreaded computation of Voronoi cells via the OpenMP application programming interface. We test the performance of the code, and demonstrate that it can achieve parallel efficiencies greater than 95% in many cases. Further, the multithreaded extension follows standard OpenMP programming paradigms, allowing it to be incorporated into other programs. We provide an example of this using the VoroTop software library, performing a multithreaded Voronoi cell topology analysis of up to 102.4 million particles.

97 MATHEMATICS AND COMPUTING↗

Turbo FRMAC Implemetation of IAEA Radiological Assessment Methodologies for Nuclear and Radiological Emergencies.

This report documents the findings of an assessment of the Turbo FRMAC software's ability to implement International Atomic Energy Agency (IAEA) guidance for calculating Operational Intervention Levels (OIL) 1 & 2 for nuclear and radiological emergencies. The IAEA OIL and U.S. Federal Radiological Monitoring and Assessment Center (FRMAC) Derived Response Level methodology and implementation in respective tools were compared, as demonstrated through benchmarking activities for a nuclear power plant source term and potential radionuclides of concern for radiological dispersal devices. This comparison revealed some shortcomings in Turbo FRMACs ability to perform IAEA OIL calculations and resulted in recommended software modifications to be considered for future development.

61 RADIATION PROTECTION AND DOSIMETRY↗

PyGDH: Python Grid Discretization Helper

Mathematical models expressed in the form of discretized equations play an important role inmany scientific disciplines. In our experience, few domain scientists have sufficient backgroundin numerical computing (or the time required to acquire such a background) to use manyflexible and powerful but complex open source packages, such as FEniCS (Alnæs et al., 2015)and OpenFOAM (The OpenFOAM Foundation Ltd, n.d.). Many user-friendly open sourcepackages, such as FiPy (J. E. Guyer & Warren, 2009), and many commercial packages, suchas COMSOL Multiphysics (COMSOL AB, n.d.) and Simcenter STAR-CCM+ (Siemens DigitalIndustries Software, n.d.), provide limited flexibility in the equations that users can express.Additionally, the use of commercial packages, which by nature do not perform calculationstransparently, can hinder reproducibility, which is vital to the scientific process. PyGDH(“pigged”) is a Python 2 / Python 3 (Python Software Foundation, 1991–2020) package thatis meant to be accessible to scientists who might not be specialists in scientific computing,while approaching the level of flexibility associated with writing dedicated programs tailoredto solving specific problems. The PyGDH User’s Guide provides detailed instructions forcreating numerical models, including a brief introduction to necessary command line andPython (Python Software Foundation, 1991–2020) skills, and discussions of discretization andvalidation. Note that PyGDH emphasizes flexibility and simplicity over performance, and wasnot designed for high-performance applications or models describing complex spatial domains.

97 MATHEMATICS AND COMPUTING↗

Converged Computing: A Best of Both Worlds of High-Performance Computing and Cloud

Collaboration between Cloud and High Performance Computing (HPC) communities has accelerated in the last half decade. A common goal to run batch workloads combined with a desire for reproducibility, automation, and optimization has led to successful projects that range from container technologies to workload management and security. This span of current and future work defines a novel “Converged Computing” paradigm that aims to combine the best of both worlds, both from a technological and cultural standpoint. Furthermore, in this Special Issue, we review common themes in the space, showcasing current work and encouraging a continued effort toward innovative ideas that will enable the next generations of scientific discovery.

97 MATHEMATICS AND COMPUTING↗

pvlib python 2022 Update

Summary of updates to pvlib-python in the time since the 2019 PVPMC workshop, covering pvlib versions 0.7.0 to 0.9.2.

MATHEMATICS AND COMPUTING,SOLAR ENERGY↗

Then and Now: Improving Software Portability, Productivity, and 100× Performance

The US Exascale Computing Project (ECP) has succeeded in preparing applications to run efficiently on the first reported Exascale supercomputers in the world. To achieve this, it modernized the whole leadership software stack, from libraries to simulation codes. In this article, we contrast selected leadership software before and after ECP. We discuss how sustainable research software development for leadership computing can embrace the conversation with the hardware vendors, the leadership computing facilities, the software community, and the domain scientists who are the application developers and integrators of software products. We elaborate on how software needs to take portability as a central design principle and to benefit from interdependent teams; we also demonstrate how moving to programming languages with high momentum, like modern C++, can help improve the sustainability, interoperability, and performance of research software. Finally, we showcase how cross-institutional efforts can enable algorithm advances that are beyond incremental performance optimization.

97 MATHEMATICS AND COMPUTING↗

Safety Applications Project FY20-21 Highlights, FY2022 Goals [Slides]

Collaborations leverage the investment and expertise of others. Code capabilities determine the questions that can be addressed using SAP tools. Infrastructure acts as a force multiplier for software developer skills. Improved code performance allows simulations to finish faster or with greater fidelity. Code performance has dramatically improved over the past ~4 years.

42 ENGINEERING↗

NMSBA: Continuous Application Benchmarking & Analysis – CABA

The CABA project is a test of a new tool, Survey,developed by Trenza to be used not only for benchmarking or profiling programs but also to allow incorporation of the information provided by Survey to be utilized in a CI, continuous integration,tool such as GitLab CI.Survey is foremost a means of assessing code performance in terms of time and operations which for computer programmers is known as benchmarking.

97 MATHEMATICS AND COMPUTING↗

Increased Reliability for Near-Term Quantum Computers via Low-Level Control (CRADA Final Report)

This project helped narrow the gap between near-term hardware and practical applications of quantum computing through the development and implementation of optimized compilation and error mitigation techniques. These advances were enabled by low-level control available on the Advanced Quantum Testbed, and led to methods that characterized and improved the platform’s performance on quantum algorithms. Results of this work were published in the scientific literature and used to inform internal software development of partner Super.tech.

97 MATHEMATICS AND COMPUTING↗

Towards Seamless Interoperability of MPI-OpenMP Applications

A chasm exists between mathematical software libraries written for MPI-based applications and those written for OpenMP applications. Recently, however, PETSc enables the simple use of its MPI-based linear solvers from OpenMP applications. Separately, the MPICH MPI development team has started a new project to allow almost seamless MPI use in OpenMP applications. Both proposed approaches would result in a similar user experience. Here, we discuss the reasons for these projects and their potential for providing more numerical library choices for OpenMP applications, including the unlimited assortment of linear solvers available in PETSc. In addition, we present the performance of an application using the first approach, demonstrating its efficacy.

MPI↗

Magnetohydrodynamics with physics informed neural operators

Abstract The modeling of multi-scale and multi-physics complex systems typically involves the use of scientific software that can optimally leverage extreme scale computing. Despite major developments in recent years, these simulations continue to be computationally intensive and time consuming. Here we explore the use of AI to accelerate the modeling of complex systems at a fraction of the computational cost of classical methods, and present the first application of physics informed neural operators (NOs) (PINOs) to model 2D incompressible magnetohydrodynamics (MHD) simulations. Our AI models incorporate tensor Fourier NOs as their backbone, which we implemented with the TensorLY package. Our results indicate that PINOs can accurately capture the physics of MHD simulations that describe laminar flows with Reynolds numbers Re ⩽ 250 . We also explore the applicability of our AI surrogates for turbulent flows, and discuss a variety of methodologies that may be incorporated in future work to create AI models that provide a computationally efficient and high fidelity description of MHD simulations for a broad range of Reynolds numbers. The scientific software developed in this project is released with this manuscript.

97 MATHEMATICS AND COMPUTING↗

VERAIO Software Management Plan

VERAIO is a set of utility codes used to provide a common set of input and outputs to the Virtual Environment for Reactor Applications (VERA). VERA is a collection of several different computer codes that all have a common input and output. This prevents the need to manage input and output from each individual code, allowing for ease of use and reducing errors associated with code operability. The VERAIO utilities include VERAIn, VERAView, and VERARun. Each of these utilities is described below. VERAIn is an input processor that reads an ASCII input file generated by users, parses the file, performs some error checking, and writes an XML file to be read by other VERA codes. The main purpose of VERAIn is to provide a common input to all of the VERA codes so users only need to learn one input. VERAIn is written in Perl and uses YAML configuration files to provide flexibility. VERAView is a graphical user interface (GUI) that reads a VERA HDF output file and allows users to visualize results. VERAView is written in Python. VERARun is a script that drives the VERA execution in a high performance computing (HPC) environment. Work performed at the code level supports the Quality Assurance Program Plan (QAPP) (VERA-QA-001), and VERA Software Quality Assurance Plan (VERA-QA-002).

97 MATHEMATICS AND COMPUTING↗

VERAIO Software Management Plan

VERAIO is a set of utility codes used to provide a common set of inputs and outputs to the Virtual Environment for Reactor Applications (VERA). VERA is a collection of several different computer codes that all have a common input and output. This prevents the need to manage input and output from each individual code, allowing for ease of use and reducing errors associated with code operability. The VERAIO utilities include VERAIn, VERAView, and VERARun. Each of these utilities is described below. VERAIn is an input processor that reads an ASCII input file generated by users, parses the file, performs some error checking, and writes an XML file to be read by other VERA codes. The main purpose of VERAIn is to provide a common input to all of the VERA codes, so users only need to learn one input. VERAIn is written in Perl and uses YAML configuration files to provide flexibility. VERAView is a graphical user interface (GUI) that reads a VERA hierarchical data format (HDF) output file and allows users to visualize results. VERAView is written in Python. VERARun is a script that drives the VERA execution in a high performance computing (HPC) environment. Work performed at the code level supports the quality assurance program plan (QAPP) (VERA-QA-001) and the VERA Software Quality Assurance Plan (VERA-QA-002).

97 MATHEMATICS AND COMPUTING↗

Proxy Applications for Converged Workloads: DMC LDRD Initiative

Modern scientific applications are complicated and require coordination of several components. Proxy application driven software-hardware co-design plays a vital role in driving innovation among the developments of applications, software infrastructure and hardware architecture. Proxy applications are self-contained and simplified codes that are intended to model the performance-critical computations within applications. Applications executing on modern High Performance Computing (HPC) systems are susceptible to network congestion, insufficient memory bandwidth within and across compute nodes, and inadvertent loss of performance due to bugs and unoptimized programming models. Modern numerical simulations and machine learning models play a critical role in studying physical phenomenon under myriad uncertainties. Such applications often exhibit irregular computation and memory accesses at specific regions of the application code, which can contribute to various performance bottlenecks at scale. To mitigate such issues and prepare the next generation hardware for a variety of computation and data movement contingencies, a well-known practice is to consider "proxy" applications as representative motifs for various classes of scientific applications. While there is disagreement in the HPC community on the mechanisms of construction of the proxy applications, there is a strong consensus on their positive impact in co-design. Proxy Applications for Converged Workloads (PACER) is about facilitating software-hardware co-design through proxy applications with the goal of improving the performance of converged science workflows on heterogeneous systems.

97 MATHEMATICS AND COMPUTING↗

Light Water Reactor Sustainability Program: Upgrade of EMRALD to a Modern JavaScript-based Framework

Event Modeling Risk Assessment using Linked Diagrams (EMRALD) is a software tool developed at Idaho National Laboratory for researching the capabilities of dynamic probabilistic risk assessment. It provides a simple interface to represent complex interactions often seen when developing dynamic models. EMRALD can also interface with other applications by modifying inputs, running, and using their results within EMRALD for dynamic and integrated assessment. This report goes over the work performed as part of the Risk-Informed Systems Analysis Pathway under the Light Water Reactor Sustainability program to upgrade the EMRALD software.

97 MATHEMATICS AND COMPUTING↗

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↗

NEAMS-Multiphysics MOOSE End Year Framework Activities FY20

The Multiphysics Object Oriented Simulation Environment (MOOSE) is a general finite element package meant for high performance solution of multiphysics problems in science and engineering. In this report, we present additions and enhancements to MOOSE funded by the Nuclear Engineering Advanced Modeling and Simulation (NEAMS) program. NEAMS-funded MOOSE framework library improvements include: expansion of support for multi-level multi-application restart; enhancement of coupling between native MOOSE applications and external libraries; addition of a sparse automatic differentiation (AD) container enabling non-local degree of freedom coupling; block-specific quadrature rules; further development of an eigenvalue executioner; faster setup of periodic boundary conditions; and creation of a mesh meta-data system streamlining simulation startup. Besides developing the framework library, NEAMS funds were used to overhaul a swath of important MOOSE infrastructure in order to substantially improve user experience. These critical infrastructure changes included adapting MOOSE to python 3, improving the test harness to catch race conditions, and most importantly transitioning MOOSE to use Conda, a globally known packaging system, that greatly eases software adoption.

97 MATHEMATICS AND COMPUTING↗