Search NASA⌕ Search

SEARCH · Search NASA

Results for “Computer Programming and software”

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 181 records · Page 10

The parallelism motifs of genomic data analysis

Genomic datasets are growing dramatically as the cost of sequencing continues to decline and small sequencing devices become available. Enormous community databases store and share these data with the research community, but some of these genomic data analysis problems require large-scale computational platforms to meet both the memory and computational requirements. These applications differ from scientific simulations that dominate the workload on high-end parallel systems today and place different requirements on programming support, software libraries and parallel architectural design. For example, they involve irregular communication patterns such as asynchronous updates to shared data structures. We consider several problems in high-performance genomics analysis, including alignment, profiling, clustering and assembly for both single genomes and metagenomes. We identify some of the common computational patterns or ‘motifs’ that help inform parallelization strategies and compare our motifs to some of the established lists, arguing that at least two key patterns, sorting and hashing, are missing. This article is part of a discussion meeting issue ‘Numerical algorithms for high-performance computational science’.

59 BASIC BIOLOGICAL SCIENCES↗

Advanced Simulation and Computing (ASC) Software Quality Plan: ASC Software Quality Engineering Practices (V.4.0)

The purpose of the Sandia National Laboratories (SNL) Advanced Simulation and Computing (ASC) Software Quality Plan is to clearly identify the software quality engineering practices that are the basis for continually improving the quality of ASC software products. This plan defines the SNL ASC Program software quality engineering practices and provides a mapping of these practices to Laboratory Policy System IT008: Provide Quality Software Policy. This plan also identifies ASC Program Management and the software project teams' responsibilities in implementing quality software engineering practices and in assessing progress towards achieving their software quality goals.

97 MATHEMATICS AND COMPUTING↗

Miniaturized Magnetoelastic Sensor System

This article describes the design, assembly, and implementation of a hand-held, magnetic-field-based sensor system that can be adapted for a variety of sensing applications. The miniaturized system is based on Chemical Identification by Magneto-Elastic Sensing (ChIMES) technology, which uses three concentric solenoid coils to wirelessly interrogate a sensor body comprised of a response material coupled to a magnetoelastic wire. The response material expands when it encounters a target, imposing mechanical stress on the wire and altering its magnetic permeability. The sensor bodies are passive, requiring no external power source, and they are small, measuring about 15 mm in length and 3.0 mm in diameter. Up to four sensor bodies can be configured as an evenly-spaced linear array. The sensor system operates by applying a low-frequency, current-stabilized, filtered triangle wave to a uniform-density excitation coil to switch the magnetic domains within the wire. Further, the responses from the sensors are picked up by a detection coil as stress-induced changes in the Faraday voltage, and the strong magnetic field induced by the excitation coil in the detection coil is nullified by a cancellation coil reverse-wound in series with the detection coil. The responses of the sensors in an array are separated in time by a linear gradient dc biasing coil. The sensors can be interrogated through metallic and nonmetallic barriers. The signals from the detection coil and the excitation coil are digitized by a pair of bipolar analog-to-digital converters (ADCs). A Raspberry Pi single-board computer (SBC) and associated software perform data acquisition and control all aspects of the sensor system hardware. The program allows the user to select the number of sensors in the array, the type of signal that is being collected, and the number of samples to take. The program also allows for signal processing of the sensor data, such as baseline correction. The program can differentiate sensor peaks from each other and calculate the magnitude of each sensor response with less than 1% error. The data are then displayed along with a graph of the signal.

46 INSTRUMENTATION RELATED TO NUCLEAR SCIENCE AND ↗

Quantum Computing and Visualization Research Challenges and Opportunities

Here, quantum computing (QC) has experienced rapid growth in recent years with the advent of robust programming environments, readily accessible software simulators and cloud-based QC hardware platforms, and growing interest in learning how to design useful methods that leverage this emerging technology for practical applications. From the perspective of the field of visualization, this article examines research challenges and opportunities along the path from initial feasibility to practical use of QC platforms applied to meaningful problems.

Data visualization↗

Hydropower Biological Evaluation Toolset (HBET) Version 3.0: User Guide

The Hydropower Biological Evaluation Tools (HBET) software package, developed by Pacific Northwest National Laboratory (PNNL), is designed to assemble, organize, and process data collected by Sensor Fish and live fish. HBET enable users to characterize the hydraulic conditions of hydropower structures and estimate fish injury and mortality rates from various stressors. Future updates of the software may support other technologies, such as bead tracking in physical models and computational fluid dynamics. The HBET program can be customized to analyze different hydraulic applications, including turbines, spillways, weirs, pumped storage, and other user-defined functions, and therefore, help researchers, turbine designers, hydropower operators, and regulators better evaluate hydropower structures regarding their environmental sustainability and cost-effectiveness. Added content to the user guide about the new feature for predicting absolute injury rates.

13 HYDRO ENERGY↗

PCS: A Productive Computational Science Platform

As modern supercomputers continue to be increasingly heterogeneous with diverse computational accelerators, software becomes a critical aspect necessary to fully exploit these accelerators while not increasing the effort and time required to make variable scientific discovery in the face of complicated programming environments introduced by these accelerators. This paper presents PCS, a productive computational science platform for cluster-scale heterogeneous computing. The PCS platform by design follows a basic principle that, multiple programming models in a unified programming environment, is essential to facilitate large-scale, accelerator-aware, heterogeneous computing for next- generation scientific applications. We propose a new scheme — Edge Neural Network — for managing regularity in large dataflow graphs using higher-order bulk synchronous operators, providing a foundation for formalizing computational models for cluster-wide dataflow programming of heterogeneous clusters.

36 MATERIALS SCIENCE↗

PCS: A Productive Computational Science Platform

As modern supercomputers continue to be increasingly heterogeneous with diverse computational accelerators, software becomes a critical aspect necessary to fully exploit these accelerators while not increasing the effort and time required to make variable scientific discovery in the face of complicated programming environments introduced by these accelerators. This paper presents PCS, a productive computational science platform for cluster-scale heterogeneous computing. The PCS platform by design follows a basic principle that, multiple programming models in a unified programming environment, is essential to facilitate large-scale, accelerator-aware, heterogeneous computing for next-generation scientific applications. We propose a new scheme — Edge Neural Network — for managing regularity in large dataflow graphs using higher-order bulk synchronous operators, providing a foundation for formalizing computational models for cluster-wide dataflow programming of heterogeneous clusters.

Ojika, David↗

PCS: A Productive Computational Science Platform

As modern supercomputers continue to be increasingly heterogeneous with diverse computational accelerators, software becomes a critical aspect necessary to fully exploit these accelerators while not increasing the effort and time required to make variable scientific discovery in the face of complicated programming environments introduced by these accelerators. This paper presents PCS, a productive computational science platform for cluster-scale heterogeneous computing. The PCS platform by design follows a basic principle that, multiple programming models in a unified programming environment, is essential to facilitate large-scale, accelerator-aware, heterogeneous computing for next- generation scientific applications. We propose a new scheme - Edge Neural Network - for managing regularity in large dataflow graphs using higher-order bulk synchronous operators, providing a foundation for formalizing computational models for cluster-wide dataflow programming of heterogeneous clusters.

36 MATERIALS SCIENCE↗

Prediction of stability constants of metal–ligand complexes by machine learning for the design of ligands with optimal metal ion selectivity

The new LOGKPREDICT program integrates HostDesigner molecular design software with the machine learning (ML) program Chemprop. By supplying HostDesigner with predicted log K values, LOGKPREDICT enhances the computer-aided molecular design process by ranking ligands directly by metal–ligand binding strength. Harnessing reliable experimental data from a historic National Institute of Standards and Technology (NIST) database and data from the International Union of Pure and Applied Chemistry (IUPAC), we train message passing neural net algorithms. The multi-metal NIST-based ML model has a root mean square error (RMSE) of 0.629 ± 0.044 (R 2 of 0.960 ± 0.006), while two versions of lanthanide-only IUPAC-based ML models have, respectively, RMSE of 0.764 ± 0.073 (R 2 of 0.976 ± 0.005) and 0.757 ± 0.071 (R 2 of 0.959 ± 0.007). For relative log K predictions on an out-of-sample set of six ligands, demonstrating metal ion selectivity, the RMSE value reaches a commendably low 0.25. Here we showcase the use of LOGKPREDICT in identifying ligands with high selectivity for lanthanides in aqueous solutions, a finding supported by recent experimental evidence. We also predict new ligands yet to be verified experimentally. Therefore, our ML models implemented through LOGKPREDICT and interfaced with the ligand design software HostDesigner pave the way for designing new ligands with predetermined selectivity for competing metal ions in an aqueous solution.

37 INORGANIC, ORGANIC, PHYSICAL, AND ANALYTICAL CH↗

iSPECTRON: a simulation interface for linear and nonlinear spectra with ab-initio quantum chemistry software

We introduce iSPECTRON, an open source (under the Educational Community License version 2.0) program that parses data from common quantum chemistry software (NWChem, OpenMolcas, Gaussian, Cobramm, etc.), produces the input files for the simulation of linear and nonlinear spectroscopy of molecules with the Spectron code, and analyzes the spectra with a broad range of tools. Vibronic spectra are expressed in term of the electronic eigenstates, obtained through quantum chemistry computations, and vibrational/bath effects are incorporated in the framework of the displaced harmonic oscillator model, where all required quantities are computed at the Franck-Condon point. The code capabilities are illustrated by simulating linear absorption, transient absorption and two dimensional electronic spectra of the pyrene molecule. Two levels of electronic structure theory, TDDFT (with NWChem) and RASSCF/RASPT2 (with OpenMolcas), are compared where possible. Acknowledgements: F.S., A.N., D.R.N., N.G., S.M, M.G. acknowledge support from the U.S. Department of Energy, Office of Science, Office of Basic Energy Sciences, Chemical Sciences, Geosciences, and Biosciences Division under Award Nos. DE-SC0019484, KC-030103172684. The Spectron code was developed with support from the National Science Foundation (Grant CHE- 1953045). This research benefited from computational resources provided by EMSL, a DOE Office of Science User Facility sponsored by the Office of Biological and Environmental Research and located at PNNL. PNNL is operated by Battelle Memorial Institute for the United States Department of Energy under DOE Contract No. DE-AC05-76RL1830.

Segatta, Francesco↗

Equation-based and data-driven modeling: Open-source software current state and future directions

Here, a review of current trends in scientific computing reveals a broad shift to open-source and higher-level programming languages such as Python and growing career opportunities over the next decade. Open-source modeling tools accelerate innovation in equation-based and data-driven applications. Significant resources have been deployed to develop data-driven tools (PyTorch, TensorFlow, Scikit-learn) from tech companies that rely on machine learning services to meet business needs while keeping the foundational tools open. Open-source equation-based tools such as Pyomo, CasADi, Gekko, and JuMP are also gaining momentum according to user community and development pace metrics. Integration of data-driven and principles-based tools is emerging. New compute hardware, productivity software, and training resources have the potential to radically accelerate progress. However, long-term support mechanisms are still necessary to sustain the momentum and maintenance of critical foundational packages.

97 MATHEMATICS AND COMPUTING↗

Productive Programming of Distributed Systems with the SHAD C++ Library

High-performance computing (HPC) is often perceived as a matter of making large-scale systems (e.g., clusters) run as fast as possible, regardless the required programming effort. However, the idea of "bringing HPC to the masses" has recently emerged. Inspired by this vision, we have designed SHAD, the Scalable High-performance Algorithms and Data-structures library. SHAD is open source software, written in C++, for C++ developers. Unlike other HPC libraries for distributed systems, which rely on SPMD models, SHAD adopts a shared-memory programming abstraction, to make C++ programmers feel at home. Underneath, SHAD manages tasking and data-movements, moving the computation where data resides and taking advantage of asynchrony to tolerate network latency. At the bottom of his stack, SHAD can interface with multiple runtime systems: this not only improves developer’s productivity, by hiding the complexity of such software and of the underlying hardware, but also greatly enhance code portability. Thanks to its abstraction layers, SHAD can indeed target different systems, ranging from laptops to HPC clusters, without any need for modifying the user-level code. We have prototyped and open-sourced the implementation of (a subset of) the C++ standard library (STL) targeting multi-node HPC clusters. Our work allows plain STL-based C++ code to scale on HPC systems, with no need for rewriting the code to exploit the complex hardware. SHAD is available under Apache v2 License at https://github.com/pnnl/SHAD. In this paper we overview the design of the SHAD library, depicting its main components: runtime systems abstractions for tasking; parallel and distributed data-structures; STL-compliant interfaces and algorithms.

Castellana, Vito G.↗

Application of performance portability solutions for GPUs and many-core CPUs to track reconstruction kernels

Next generation High-Energy Physics (HEP) experiments are presented with significant computational challenges, both in terms of data volume and processing power. Using compute accelerators, such as GPUs, is one of the promising ways to provide the necessary computational power to meet the challenge. The current programming models for compute accelerators often involve using architecture-specific programming languages promoted by the hardware vendors and hence limit the set of platforms that the code can run on. Developing software with platform restrictions is especially unfeasible for HEP communities as it takes significant effort to convert typical HEP algorithms into ones that are efficient for compute accelerators. Multiple performance portability solutions have recently emerged and provide an alternative path for using compute accelerators, which allow the code to be executed on hardware from different vendors. We apply several portability solutions, such as Kokkos, SYCL, C++17 std::execution::par, Alpaka, and OpenMP/OpenACC, on two mini-apps extracted from the mkFit project: p2z and p2r. These apps include basic kernels for a Kalman filter track fit, such as propagation and update of track parameters, for detectors at a fixed z or fixed r position, respectively. The two mini-apps explore different memory layout formats. We report on the development experience with different portability solutions, as well as their performance on GPUs and many-core CPUs, measured as the throughput of the kernels from different GPU and CPU vendors such as NVIDIA, AMD and Intel.

Kwok, Ka Hei Martin↗

Application of performance portability solutions for GPUs and many-core CPUs to track reconstruction kernels

Next generation High-Energy Physics (HEP) experiments are presented with significant computational challenges, both in terms of data volume and processing power. Using compute accelerators, such as GPUs, is one of the promising ways to provide the necessary computational power to meet the challenge. The current programming models for compute accelerators often involve using architecture-specific programming languages promoted by the hardware vendors and hence limit the set of platforms that the code can run on. Developing software with platform restrictions is especially unfeasible for HEP communities as it takes significant effort to convert typical HEP algorithms into ones that are efficient for compute accelerators. Multiple performance portability solutions have recently emerged and provide an alternative path for using compute accelerators, which allow the code to be executed on hardware from different vendors. We apply several portability solutions, such as Kokkos, SYCL, C++17 std::execution::par and Alpaka, on two mini-apps extracted from the mkFit project: p2z and p2r. These apps include basic kernels for a Kalman filter track fit, such as propagation and update of track parameters, for detectors at a fixed z or fixed r position, respectively. The two mini-apps explore different memory layout formats. We report on the development experience with different portability solutions, as well as their performance on GPUs and many-core CPUs, measured as the throughput of the kernels from different GPU and CPU vendors such as NVIDIA, AMD and Intel.

Kwok, Ka Martin↗

Early experiences evaluating the HPE/Cray ecosystem for AMD GPUs

Summary The Oak Ridge Leadership Computing Facility (OLCF) has a long history of supporting and promoting GPU‐accelerated computing starting with the deployment of the Titan supercomputer in 2021 and continuing with the Summit supercomputer which has a theoretical peak performance of approximately 200 petaflops. Because the majority of Summit's computational power comes from its 27,972 GPUs, users must port their applications to one of the supported programming models in order to make efficient use of the system. To prepare the transition to Frontier, the OLCF's exascale supercomputer, users will need to adapt to an entirely new ecosystem which will include new hardware and software technologies. First, users will need to familiarize themselves with the AMD Radeon GPU architecture. Furthermore, users who have been previously relying on CUDA will need to transition to the Heterogeneous‐Computing Interface for Portability (HIP) or one of the other supported programming models (e.g., OpenMP, OpenACC). In this work, we describe our initial experiences and lessons learned in porting three applications or proxy apps currently running on Summit to the HPE/Cray ecosystem to leverage the compute power from AMD GPUs: minisweep, GenASiS, and Sparkler. Each one is representative of current production workloads utilized at the OLCF, different programming languages, and different programming models.

Melesse Vergara, Verónica G.↗

IRIS: A Performance-Portable Framework for Cross-Platform Heterogeneous Computing

From edge to exascale, computer architectures are becoming more heterogeneous and complex. The systems typically have fat nodes, with multicore CPUs and multiple hardware accelerators such as GPUs, FPGAs, and DSPs. This complexity is causing a crisis in programming systems and performance portability. Several programming systems are working to address these challenges, but the increasing architectural diversity is forcing software stacks and applications to be specialized for each architecture. As we show, all of these approaches critically depend on their software framework for discovery, execution, scheduling, and data orchestration. To address this challenge, we believe that a more agile and proactive software framework is essential to increase performance portability and improve user productivity. To this end, we have designed and implemented IRIS: a performance-portable framework for cross-platform heterogeneous computing. IRIS can discover available resources, manage multiple diverse programming platforms (e.g., CUDA, Hexagon, HIP, Level Zero, OpenCL, OpenMP) simultaneously in the same execution, respect data dependencies, orchestrate data movement proactively, and provide for user-configurable scheduling. To simplify data movement, IRIS introduces a shared virtual device memory with relaxed consistency among different heterogeneous devices. IRIS also adds an automatic kernel workload partitioning technique using the polyhedral model so that it can resize kernels for a wide range of devices. Our evaluation on three architectures, ranging from Qualcomm Snapdragon to a Summit supercomputer node, shows that IRIS improves portability across a wide range of diverse heterogeneous architectures with negligible overhead.

97 MATHEMATICS AND COMPUTING↗

pyTCR: A tropical cyclone rainfall model for python

pyTCR is a climatology software package developed in the Python programming language. It integrates the capabilities of several legacy physical models and increases computational efficiency to allow rapid estimation of tropical cyclone (TC) rainfall consistent with the large-scale environment. Specifically, pyTCR implements a horizontally distributed and vertically integrated model [Zhu et al., 2013] for simulating rainfall driven by TCs. Along storm tracks, rainfall is estimated by computing the cross-boundary-layer, upward water vapor transport caused by different mechanisms including frictional convergence, vortex stretching, large-scale baroclinic effect (i.e., wind shear), topographic forcing, and radiative cooling [Lu et al., 2018]. The package provides essential functionalities for modeling and interpreting spatio-temporal TC rainfall data. pyTCR requires a limited number of model input parameters, making it a convenient and useful tool for analyzing rainfall mechanisms driven by TCs. To sample rare (most intense) rainfall events that are often of great societal interest, pyTCR adapts and leverages outputs from a statistical-dynamical TC downscaling model [Lin et al., 2023] capable of rapidly generating a large number of synthetic TCs given a certain climate. As a result, pyTCR significantly reduces computational effort and improves the efficiency in capturing extreme TC rainfall events at the tail of the distributions from limited datasets. Furthermore, the TC downscaling model is forced entirely by large-scale environmental conditions from reanalysis data or coupled General Circulation Models (GCMs), simplifying the projection of TC-induced rainfall and wind speed under future climate using pyTCR. Finally, pyTCR can be coupled with hydrological and wind models to assess risks associated with independent and compound events (e.g., storm surges and freshwater flooding).

54 ENVIRONMENTAL SCIENCES↗

Integration of the NCRC Database and Other INL Databases

The Nuclear Computational Resource Center provides a portal by which industry professionals, educational staff, students, national laboratory employees, and others may request access to certain engineering software tools. As the tools provided through the Nuclear Computational Resource Center portal are not open-source and freely available, a set of approvals are necessary before access is granted. All code recipients must be associated with an institution that has a license with Idaho National Laboratory for the code requested. Information about these licenses is controlled by Idaho National Laboratory’s Technology Deployment organization and housed in a Technology Deployment database. Those requesting code access who are not citizens of the United States must also have a security plan, mandated by Idaho National Laboratory policy. Security plans are managed by the International Access Program and are stored in an International Access Program database known as IFacts. Granting access to software thus depends on information stored in the Technology Deployment database and IFacts. In the past, no connection between the Nuclear Computational Resource Center portal and these databases existed, making checking the status of license agreements and security plans time consuming and error prone. This report demonstrates that the Nuclear Computational Resource Center portal now connects to both the Technology Deployment database and IFacts, greatly improving the ease of use of the Nuclear Computational Resource Center system for administrators, which leads to a better overall experience for those requesting code access.

99 GENERAL AND MISCELLANEOUS↗