Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Software Library”

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 379 records · Page 21

Studying Performance Portability of LAMMPS across Diverse GPU-based Platforms

The molecular dynamics simulation software, LAMMPS, utilizes the Kokkos acceleration library to port computation to a diverse set of architectures including those based on GPU accelerators. In addition to Kokkos, LAMMPS contains a vast code base that leverages the CUDA application programming interface using library functions such as cuFFT, CUDA’s fast-fourier transform (FFT) library, and, more recently, also support for AMD’s Heterogeneous Interface for Portability (HIP) that is rapidly growing. While preparing LAMMPS tests for the AMD GPU-based test system precursors to Frontier, we investigated several strategies for accelerating LAMMPS on AMD GPUs, using the AMD Instinct MI100 and MI250X. In this work, we integrated the HIP FFT library, hipFFT, into the particle-particle particle-mesh (PPPM) long-range solver, which allowed the porting of PPPM calculations to the GPUs. Kokkos behavior on the MI100 and MI250X was also investigated through the package kokkos command of LAMMPS, targeting com- munication, memory usage, and particle grid decomposition. The Tersoff, Reax, Lennard-Jones (LJ), EAM, Granular, and PPPM potentials were investigated in this effort, and results from these experiments are provided. The selected potentials were run on Spock (AMD Instinct MI100), Crusher (AMD Instinct MI250X), AFW HPC11 (NVIDIA A100) and Summit (NVIDIA V100), for comparison. Operational roofline models were constructed and analyzed for the Tersoff, Reax, and Lennard-Jones potentials on Crusher and Summit.

Hagerty, Nick↗

PSIP For HDF5 Pilot Project (Final Report)

Productivity and Sustainability Improvement Planning (PSIP) is a lightweight, incremental and iterative approach (much in the same spirit as Agile methodologies) for making routine software process improvements in software projects. It is designed to be easily applied in existing development workflows. Quoting from a November 2019 workshop paper describing PSIP. PSIP breaks from classic software process improvement approaches such as CMM(I), SPICE, ISO 9000 or Six Sigma, in that it trades comprehensive standards and certification-driven assessment for self-defined, internally driven goals. It does, however, carry forward such ideas as having staged models of improvement (like CMM(I)) in the form of progress tracking cards. Additionally, PSIP is more aligned with lean and agile methods; it adopts their emphasis on iterative improvement and continuous learning. At its core, PSIP is an instantiation of the Plan-Do-Check-Act management cycle (PDCA, also known as Plan-Do-Study-Adjust) which provides the foundation for much of the modern software process improvement literature. This situates PSIP within a constellation of bottom-up, inductive software process improvement methods. PSIP is designed around the notion that already overburdened teams can define and carry out a series of small, incremental steps of progression towards improvement goals without significant (there will be some, but the goal is to avoid significant) disruption to ongoing development activities. A key enabling tool in PSIP is the use of Progress Tracking Cards (PTCs) which define the steps of progression towards a given improvement goal. This is the theory of PSIP. The PSIP for HDF5 project was aimed at putting PSIP into practice with the purpose of evaluating its effectiveness in planning and facilitating quality and process improvements in a scientific software project as well as its associated artifacts. The HDF5 project was chosen as a use case to evaluate PSIP for several reasons. First, NNSA labs and LLNL in particular have a keen interest in how HDF5 quality impacts its uptake and sustainability as a community adopted and supported code. Next, HDF5 is a foundational library, a key substrate in the HPC/CSE software stack, and any improvements there realized through this contract will have benefits to many DOE applications depending on it. HDF5 also represents an older, legacy code with technical debts to pay down. These characteristics are similar to many NNSA and even some ECP code projects. But, because HDF5 is an I/O library, it represents a simpler use case within which to study PSIP than a full-fledged and significantly more complex PDE simulation code. We believe these attributes make HDF5 an ideal use case for evaluating PSIP.

97 MATHEMATICS AND COMPUTING↗

ramdisk, Version 0.x

The intent of the software is eventually to become a middleware library to provide a cross platform interface for creating and managing a ramdisk. Eventually it will cover many platforms (*nix, Windows, Mac), and have the library written in several languages. At this point, the library is a functional python library for managing a Mac ramdisk. Some code is also included in how to use the library. Initial intended uses for the library: archive deleteone.sql elink_2017_10_20.json file.json fix_on_records.sh just-doi-it.sh onrecords postfile.sh postit.sh solr-delete testrepos.sh wipe.postgresql Provide a throw-away filesystem for unit testing filesystem related functionality. archive deleteone.sql elink_2017_10_20.json file.json fix_on_records.sh just-doi-it.sh onrecords postfile.sh postit.sh solr-delete testrepos.sh wipe.postgresql Improve compile time when building software.

Nielsen, Roy↗

Building an Efficient Cluster Cosmology Software Package for Modeling Cluster Counts and Lensing

We introduce a software suite developed for galaxy cluster cosmological analysis with the Dark Energy Survey Data. Cosmological analyses based on galaxy cluster number counts and weak-lensing measurements need efficient software infrastructure to explore an increasingly large parameter space, and account for various cosmological and astrophysical effects. Our software package is designed to model the cluster observables in a wide-field optical survey, including galaxy cluster counts, their averaged weak-lensing masses, or the cluster's averaged weak-lensing radial signals. To ensure maximum efficiency, this software package is developed in C++ in the CosmoSIS software framework, making use of the CUBA integration library. We also implement a testing and validation scheme to ensure the quality of the package. We demonstrate the effectiveness of this development by applying the software to the Dark Energy Survey Year 1 galaxy cluster cosmological data sets, and acquired cosmological constraints that are consistent with the fiducial Dark Energy Survey analysis.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Achieving High Performance With TCP Over 40 GbE on NUMA Architectures for CMS Data Acquisition

TCP and the socket abstraction have barely changed over the last two decades, but at the network layer there has been a giant leap from a few megabits to 100 gigabits in bandwidth. At the same time, CPU architectures have evolved into the multicore era and applications are expected to make full use of all available resources. Applications in the data acquisition domain based on the standard socket library running in a Non-Uniform Memory Access (NUMA) architecture are unable to reach full efficiency and scalability without the software being adequately aware about the IRQ (Interrupt Request), CPU and memory affinities. During the first long shutdown of LHC, the CMS DAQ system is going to be upgraded for operation from 2015 onwards and a new software component has been designed and developed in the CMS online framework for transferring data with sockets. This software attempts to wrap the low-level socket library to ease higher-level programming with an API based on an asynchronous event driven model similar to the DAT uDAPL API. It is an event-based application with NUMA optimizations, that allows for a high throughput of data across a large distributed system. This paper describes the architecture, the technologies involved and the performance measurements of the software in the context of the CMS distributed event building.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

ROBOT: A Tool for Automating Ontology Workflows

BACKGROUND:Ontologies are invaluable in the life sciences, but building and maintaining ontologies often requires a challenging number of distinct tasks such as running automated reasoners and quality control checks, extracting dependencies and application-specific subsets, generating standard reports, and generating release files in multiple formats. Similar to more general software development, automation is the key to executing and managing these tasks effectively and to releasing more robust products in standard forms. For ontologies using the Web Ontology Language (OWL), the OWL API Java library is the foundation for a range of software tools, including the Protégé ontology editor. In the Open Biological and Biomedical Ontologies (OBO) community, we recognized the need to package a wide range of low-level OWL API functionality into a library of common higher-level operations and to make those operations available as a command-line tool. RESULTS:ROBOT (a recursive acronym for "ROBOT is an OBO Tool") is an open source library and command-line tool for automating ontology development tasks. The library can be called from any programming language that runs on the Java Virtual Machine (JVM). Most usage is through the command-line tool, which runs on macOS, Linux, and Windows. ROBOT provides ontology processing commands for a variety of tasks, including commands for converting formats, running a reasoner, creating import modules, running reports, and various other tasks. These commands can be combined into larger workflows using a separate task execution system such as GNU Make, and workflows can be automatically executed within continuous integration systems. CONCLUSIONS:ROBOT supports automation of a wide range of ontology development tasks, focusing on OBO conventions. It packages common high-level ontology development functionality into a convenient library, and makes it easy to configure, combine, and execute individual tasks in comprehensive, automated workflows. This helps ontology developers to efficiently create, maintain, and release high-quality ontologies, so that they can spend more time focusing on development tasks. It also helps guarantee that released ontologies are free of certain types of logical errors and conform to standard quality control checks, increasing the overall robustness and efficiency of the ontology development lifecycle.

96 KNOWLEDGE MANAGEMENT AND PRESERVATION↗

mzapy : An Open-Source Python Library Enabling Efficient Extraction and Processing of Ion Mobility Spectrometry-Mass Spectrometry Data in the MZA File Format

We have recently reported MZA, a new and simple mass spectrometry data structure based on the broadly supported HDF5 format and created to facilitate software development. While this format is inherently supportive of application development, the availability of a core library with standard mass spectrometry utilities greatly facilitates fast software development. Here, we present a Python library, mzapy, for efficient extraction and processing of mass spectrometry data in the MZA format. In addition to raw data extraction, mzapy contains supporting utilities enabling tasks including calibration, signal processing, peak finding, and generating plots. Being implemented in pure Python with minimal and largely standardized dependencies makes mzapy uniquely suited to application development in the multi-omics domain. The free and open source mzapy is built with extensibility in mind, and future development will support cloud computing and artificial intelligence/machine learning applications. The software source code is freely available at https://github.com/PNNL-m-q/mzapy.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

SpackDev: Multi-Package Development with Spack

High Energy Physics (HEP) software environments often involve ~ hundreds of external packages and libraries, and similar numbers of experiment-specific, science-critical packages—many under continuous development. Managing coherent releases of the external software stack is challenging enough, but managing the highly-collaborative—and distributed—development of a large body of code against such a stack adds even more complexity and room for error. Spack is a popular Python-based package management tool with a specific focus on the needs of High Performance Computing (HPC) systems and system administrators whose strength is orchestrating the discrete download, build, testing, and installation of pre-packaged or tagged third-party software against similarly stable dependencies. As such it is becoming increasingly popular within HEP as that community makes increasing use of HPC facilities, and as efforts to develop future HPC systems utilize Spack to provide scientific software on those platforms. SpackDev is a system to facilitate the simultaneous development of interconnected sets of packages. Intended to handle packages without restriction to one internal build system, SpackDev is integrated with Spack as a command extension in order to leverage features such as dependency calculations and build system configuration, and is generally applicable outside HEP. We describe SpackDev’s features and development over the last two years, initial experience using SpackDev in the context of the LArSoft liquid argon detector toolkit, and work remaining before it can be considered a fully-functional multi-package build system for HEP experiments utilizing Spack.

Green, Chris↗

XScan: An Integrated Tool for Understanding Open Source Community-Based Scientific Code

Many scientific communities have adopted community-based models that integrate multiple components to simulate whole system dynamics. The community software projects’ complexity, stems from the integration of multiple individual software components that were developed under different application requirements and various machine architectures, has become a challenge for effective software system understanding and continuous software development. The paper presents an integrated software toolkit called X-ray Software Scanner (in abbreviation, XScan) for a better understanding of large-scale community-based scientific codes. Our software tool provides support to quickly summarize the overall information of scientific codes, including the number of lines of code, programming languages, external library dependencies, as well as architecture-dependent parallel software features. The XScan toolkit also realizes a static software analysis component to collect detailed structural information and provides an interactive visualization and analysis of the functions. We use a large-scale community-based Earth System Model to demonstrate the workflow, functions and visualization of the toolkit. We also discuss the application of advanced graph analytics techniques to assist software modular design and component refactoring.

Zheng, Weijian↗

The Kokkos EcoSystem: Comprehensive Performance Portability For High Performance Computing

State of the art Engineering and Science codes have grown in complexity dramatically over the last two decades. As a consequence application teams have adopted more sophisticated development strategies, leveraging third party libraries, deploying comprehensive testing and using advanced debugging and profiling tools. In todays environment of diverse hardware platforms, these applications also desire performance portability - avoiding the need to duplicate work for various platforms - which makes it necessary that these tools and libraries also work across the various systems. The Kokkos EcoSystem provides that portable software stack. Based on the Kokkos Core Programming Model, the EcoSystem provides math libraries, interoperability capabilities with Python and Fortran, and Tools for analysing, debugging, and optimizing applications. In this paper we will provide an overview of the components, discuss some specific use cases, and highlight how co-designing these components enables a more developer friendly experience.

42 ENGINEERING↗

Performance tuning of CEED software and 1st and 2nd wave apps

The goal of this milestone was the performance tuning of the CEED software, as well as the use and tuning of CEED to accelerate the first and second wave of targeted ECP applications. In this milestone, the CEED team developed optimization techniques and tuned for performance the CEED software to accelerate the first and second wave target ECP applications. Specifically, the focus was on the following: (1) Efficient use of the memory sub-system for managing data motion and interactions among different physics packages and libraries; this included integration of the new developments in a libCEED 0.5 software release; (2) Enhancing the CEED libraries with GPU and AMD GPU support in close interaction with vendors; (3) Optimal data locality and motion, and enhanced scalability and parallelism; this included vendors interactions for improvements in data motion and making strong scaling easier and more efficient; and (4) Continue boosting performance for the first-wave and second-wave of ECP target applications, including ExaSMR, ExaWind, Urban, MARBL, E3SM, and ExaAM. A main part of this milestone was the performance tuning of the CEED first-wave and second-wave ECP applications. This included the ExaSMR application – Coupled Monte Carlo Neutronics and Fluid Flow Simulation of Small Modular Reactors (ORNL), the MARBL application – Next-Gen Multi-physics Simulation Code (LLNL), and the ExaAM ExaConstit – a miniapp for the Transforming Additive Manufacturing through Exascale Simulation applications project (ExaAM), as well as ExaWind, Urban, and E3SM. The artifacts delivered include performance improvements in CEED’s 1st and 2nd wave of applications, and tuned CEED software for various architectures through a number of backends, freely available in the CEED’s repository on GitHub. See the CEED website, http://ceed.exascaleproject.org and the CEED GitHub organization, http://github.com/ceed for more details. In addition to details and results from the above R&D efforts, in this document we are also reporting on other project-wide activities performed in Q4 of FY19 including: CEED’s third annual meeting, MFEM GPU kernels scaling improvements, libCEED 0.5 and NekRS releases, an overview paper covering latest results on a set of bake-off high-order finite element problems (BPs), and other outreach efforts.

97 MATHEMATICS AND COMPUTING↗

A Genetic Toolbox for Modulating the Expression of Heterologous Genes in the Cyanobacterium Synechocystis sp. PCC 6803

Cyanobacteria, genetic models for photosynthesis research for decades, have recently become attractive hosts for producing renewable fuels and chemicals, owing to their genetic tractability, relatively fast growth, and their ability to utilize sunlight, fix carbon dioxide, and in some cases, fix nitrogen. Despite significant advances, there is still an urgent demand for synthetic biology tools in order to effectively manipulate genetic circuits in cyanobacteria. In this study, we have compared a total of 17 natural and chimeric promoters, focusing on expression of the ethylene-forming enzyme (EFE) in the cyanobacterium Synechocystis sp. PCC 6803. We report the finding that the E. coli σ 70 promoter Ptrc is superior compared to the previously reported strong promoters, such as PcpcB and PpsbA, for the expression of EFE. In addition, we found that the EFE expression level was very sensitive to the 5'-untranslated region upstream of the open reading frame. A library of ribosome binding sites (RBSs) was rationally designed and was built and systematically characterized. We demonstrate a strategy complementary to the RBS prediction software to facilitate the rational design of an RBS library to optimize the gene expression in cyanobacteria. Our results show that the EFE expression level is dramatically enhanced through these synthetic biology tools and is no longer the rate-limiting step for cyanobacterial ethylene production. Furthermore, these systematically characterized promoters and the RBS design strategy can serve as useful tools to tune gene expression levels and to identify and mitigate metabolic bottlenecks in cyanobacteria.

09 BIOMASS FUELS↗

Upgrade of Gamma Spectrometry Systems for ORNL TRISO Fuel PIE

Gamma spectrometry is a key element in much of the post-irradiation examination (PIE) work performed under the Advanced Gas Reactor Fuel Development and Qualification (AGR) Program (Demkowicz et al. 2015; Stempien et al. 2021). Gamma spectrometers are integrated into three major capabilities used at the Oak Ridge National Laboratory (ORNL) Irradiated Fuels Examination Laboratory (IFEL) for PIE of tristructural-isotropic (TRISO) coated particles and fuel compacts: the Core Conduction Cooldown Test Facility (CCCTF), the Vertical Counting System (VCS), and the Irradiated Microsphere Gamma Analyzer (IMGA). The CCCTF includes liquid-nitrogen-cooled traps to extract 85 Kr out of the He sweep gas that passes through the furnace in which the fuel compacts are heated during safety testing. Analysis of the 85 Kr activity in the traps is the primary indicator for TRISO failure during safety testing. The VCS is a system used to accurately measure gamma emission from components placed in a lead-shielded chamber. It is used to count the CCCTF deposition cups after removal from furnace. Each cup resides in the CCCTF furnace for typically 12–24 h and is periodically replaced with a fresh cup throughout the safety test. Metallic fission products collect on the water-cooled cups and several gamma-emitting isotopes ( 110 mAg, 134 Cs, 137 Cs, 154 Eu, and 155 Eu) are often measured and provide indication of the retention performance of the TRISO coatings. The VCS is also used to measure the presence of these isotopes on the CCCTF tantalum liner and sweep gas inlet tube for the determination of cup collection efficiency, as well as support other gamma spectrometry needs related to calibration of the 85 Kr fission gas traps and various other special PIE tasks. The IMGA uses gamma spectrometry to measure the inventory of gamma-emitting isotopes in individual TRISO particles. An automated particle handling system within the IMGA hot cell removes each particle from a source vial and positions it in front of a gamma detector, and output from the gamma spectrometer is used by the IMGA software to determine a destination vial such that particles are sorted according to their inventory and retention characteristics. At the conclusion of the AGR-1 and AGR-2 PIE campaigns, the gamma spectrometer systems used at ORNL to support that PIE had reached the end of its life cycle due to gradual obsolescence of the hardware and software. Upgrade of the Canberra Genie 2000 software used by these systems to a Windows 10 version was not a viable option, because the newest Windows 10 version offered by Mirion (the new owner of the Canberra technology) did not include the dynamic-link libraries (DLLs) needed for integration with the custom PIE software used with the CCCTF and IMGA, and Mirion had no current plans for development and release of Windows 10 versions of these DLLs with the Model S560 Genie 2000 Programming Library. Ultimately a switch was made to ORTEC gamma spectrometry systems, which appeared to be a more sustainable solution due to more proactive vendor support. The ORTEC conversion involved replacing the aging detector preamplifier and multichannel analyzer (MCA) hardware, upgrading the obsolete Windows 7 computers to Windows 10 compatible models, adopting ORTEC GammaVision software, and extensive modification of the ORNL-developed Visual Basic .NET (VB.NET) programs that provide the CCCTF and IMGA user interfaces.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

ChatHPC: Building the Foundations for a Productive and Trustworthy AI-Assisted HPC Ecosystem

ChatHPC democratizes large language models for the high-performance computing (HPC) community by providing the infrastructure, ecosystem, and knowledge needed to apply modern generative AI technologies to rapidly create specific capabilities for critical HPC components while using relatively modest computational resources. Our divide-and-conquer approach focuses on creating a collection of reliable, highly specialized, and optimized AI assistants for HPC based on the cost-effective and fast Code Llama fine-tuning processes and expert supervision. We target major components of the HPC software stack, including programming models, runtimes, I/O, tooling, and math libraries. Thanks to AI, ChatHPC provides a more productive HPC ecosystem by boosting important tasks related to portability, parallelization, optimization, scalability, and instrumentation, among others. With relatively small datasets (on the order of KB), the AI assistants, which are created in a few minutes by using one node with two NVIDIA H100 GPUs and the ChatHPC library, can create new capabilities with Meta’s 7-billion parameter Code Llama base model to produce high-quality software with a level of trustworthiness of up to 90% higher than the 1.8-trillion parameter OpenAI ChatGPT-4o model for critical programming tasks in the HPC software stack.

Young, Aaron [ORNL] (ORCID:0000000254484667)↗

A General Sparse Tensor Framework for Electronic Structure Theory

Linear-scaling algorithms must be developed in order to extend the domain of applicability of electronic structure theory to molecules of any desired size. But, the increasing complexity of modern linear-scaling methods makes code development and maintenance a significant challenge. A major contributor to this difficulty is the lack of robust software abstractions for handling block-sparse tensor operations. We therefore report the development of a highly efficient symbolic block-sparse tensor library in order to provide access to high-level software constructs to treat such problems. Our implementation supports arbitrary multi-dimensional sparsity in all input and output tensors. We then avoid cumbersome machine-generated code by implementing all functionality as a high-level symbolic C++ language library and demonstrate that our implementation attains very high performance for linear-scaling sparse tensor contractions.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

Spack: the Supercomputing Package Manager

The HPC software ecosystem is growing larger and more complex, but software distribution mechanisms have not kept up with this trend. Tools, Libraries, and applications need to run on multiple platforms and build with multiple compliers. Increasingly, packages leverage common software components, and building any one component requires building all of its dependencies. In HPC environments, ABI-incompatible interfaces (likeMPI), binary-incompatible compilers, and cross-compiled environments converge to make the build process a combinatoric nightmare. This obstacle deters many users from adopting useful tools, and others waste countless hours building and rebuilding tools. Many package managers exist to solve these problems for typical desktop environments, but none suits the unique needs of supercomputing facilities or users. To address these problems, we have Spack, a package manager that eases the task of managing software for end-users, across multiple platforms, package versions, compilers, and ABI incompatibilities.

ECP↗

ExactPack: A python library of exact analytic solutions

Verification of multi-physics simulation software against problems with known analytic or semi-analytic solutions is an important aspect of research into a wide variety of fields involving the motion of fluids, shock physics and other dynamic material properties. Previous work comparing simulation results against analytic solutions has been ad-hoc, with developers frequently writing their own analytic solvers. This has resulted in a large amount of duplicated effort. The python library ExactPack has been developed as a collection of analytic and semi-analytic solvers to a variety of multi-physics problems, providing a consistent API to a set of well-tested solver implementations.

97 MATHEMATICS AND COMPUTING↗

Narrowing the gap between the promise and reality of polyketide synthases as a synthetic biology platform

Engineering modular polyketide synthases (PKSs) has the potential to be an effective methodology to produce existing and novel chemicals. However, this potential has only just begun to be realized. We propose the adoption of an iterative design-build-test-learn paradigm to improve PKS engineering. We suggest methods to improve engineered PKS design by learning from laboratory-based selection; adoption of DNA design software and automation to build constructs and libraries more easily; tools for the expression of engineered proteins in a variety of heterologous hosts; and mass spectrometry-based high-throughput screening methods. Finally, lessons learned during iterations of the design-build-test-learn cycle can serve as a knowledge base for the development of a single retrosynthesis algorithm usable by both PKS experts and non-experts alike.

Poust, S↗