SEARCH · Search NASA
Results for “software algorithms”
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.
Fast BLT Code
This note discusses numerical algorithmic software design considerations and performance estimates for a fast BLT coupling code [1] written in c++. The aim of this code is to conduct faster parameter studies over line orientations. The original matlab code was written by Mike Rivera. Art Barnes ported this code to julia. I rewrote portions of the code for speed improvement, mainly to eliminate some redundant computation when calculating many line orientations. But this code is still far from optimal.
Final Report
This final progress report describes the development of the CANDO Software package at ThirdLaw Technologies LLC (TLT) towards a software platform that will be used by its subsidiary company ThirdLaw Molecular LLC (TLM) for the development of therapeutic Spiroligomer™ molecules. ThirdLaw Molecular LLC is 95% owned by ThirdLaw Technologies LLC. TLM is developing a new therapeutics platform based on Spiroligomer™ molecules and is currently funded by the Department of Defense, Defense Threat Reduction Agency (DOD/DTRA W15QKN209C004). Spiroligomer™ molecules are complex, highly-preorganized macromolecules with programmable three-dimensional shapes. Spiroligomer™ molecules are currently synthesized by TLM in the form of large (>880,000 member) DNA-encoded libraries and screened against dangerous bacteria and viruses as part of the DOD/DTRA project. The CANDO software package is being developed to enable the computational design of Spiroligomer™ molecules for the development of therapeutic and diagnostic molecules. Towards this end, over the period of the grant we implemented software algorithms and a user interface within CANDO to enable the computational design of Spiroligomer™ molecules.
The Locus Algorithm II: A robust software system to maximise the quality of fields of view for Differential Photometry
We present the software system developed to implement the Locus Algorithm, a novel algorithm designed to maximise the performance of differential photometry systems by optimising the number and quality of reference stars in the Field of View with the target. Firstly, we state the design requirements, constraints and ambitions for the software system required to implement this algorithm. Then, a detailed software design is presented for the system in operation. Next, the data design including file structures used and the data environment required for the system are defined. Finally, we conclude by illustrating the scaling requirements which mandate a high-performance computing implementation of this system, which is discussed in the other papers in this series.
HamLib: A Library of Hamiltonians for Benchmarking Quantum Algorithms and Hardware
For a considerable time, large datasets containing problem instances have proven valuable for analyzing computer hardware, software, and algorithms. One notable example of the value of large datasets is ImageNet [1], a vast repository of images that has been instrumental in testing numerous deep learning packages. Similarly, in the domain of computational chemistry and materials science, the availability of extensive datasets such as the Protein Data Bank [2], the Materials Project [3], and QM9 [4] has greatly facilitated the evaluation of new algorithms and software approaches, while also promoting standardization within the field. These well-defined datasets and problem instances, in turn, serve as the foundation for creating benchmarking suites like MLPerf [5] and LINPACK [6], [7]. These suites enable fair and rigorous comparisons of different methodologies and solutions, fostering continuous advancements in various areas of computer science and beyond.
Comparison of sleep parameters from wrist-worn ActiGraph and Actiwatch devices
Abstract Sleep and physical activity, two important health behaviors, are often studied independently using different accelerometer types and body locations. Understanding whether accelerometers designed for monitoring each behavior can provide similar sleep parameter estimates may help determine whether one device can be used to measure both behaviors. Three hundred and thirty one adults (70.7 ± 13.7 years) from the Baltimore Longitudinal Study of Aging wore the ActiGraph GT9X Link and the Actiwatch 2 simultaneously on the non-dominant wrist for 7.0 ± 1.6 nights. Total sleep time (TST), wake after sleep onset (WASO), sleep efficiency, number of wake bouts, mean wake bout length, and sleep fragmentation index (SFI) were extracted from ActiGraph using the Cole–Kripke algorithm and from Actiwatch using the software default algorithm. These parameters were compared using paired t-tests, Bland–Altman plots, and Deming regression models. Stratified analyses were performed by age, sex, and body mass index (BMI). Compared to the Actiwatch, the ActiGraph estimated comparable TST and sleep efficiency, but fewer wake bouts, longer WASO, longer wake bout length, and higher SFI (all p < .001). Both devices estimated similar 1-min and 1% differences between participants for TST and SFI (β = 0.99, 95% CI: 0.95, 1.03, and 0.91, 1.13, respectively), but not for other parameters. These differences varied by age, sex, and/or BMI. The ActiGraph and the Actiwatch provide comparable absolute and relative estimates of TST, but not other parameters. The discrepancies could result from device differences in movement collection and/or sleep scoring algorithms. Further comparison and calibration is required before these devices can be used interchangeably.
EXAGRAPH: Graph and combinatorial methods for enabling exascale applications
Combinatorial algorithms in general and graph algorithms in particular play a critical enabling role in numerous scientific applications. However, the irregular memory access nature of these algorithms makes them one of the hardest algorithmic kernels to implement on parallel systems. With tens of billions of hardware threads and deep memory hierarchies, the exascale computing systems in particular pose extreme challenges in scaling graph algorithms. The codesign center on combinatorial algorithms, ExaGraph, was established to design and develop methods and techniques for efficient implementation of key combinatorial (graph) algorithms chosen from a diverse set of exascale applications. Algebraic and combinatorial methods have a complementary role in the advancement of computational science and engineering, including playing an enabling role on each other. In this paper, we survey the algorithmic and software development activities performed under the auspices of ExaGraph from both a combinatorial and an algebraic perspective. In particular, we detail our recent efforts in porting the algorithms to manycore accelerator (GPU) architectures. We also provide a brief survey of the applications that have benefited from the scalable implementations of different combinatorial algorithms to enable scientific discovery at scale. We believe that several applications will benefit from the algorithmic and software tools developed by the ExaGraph team.
Iterative multi-task learning and inference from seismic images
Seismic interpretation aims to extract quantitative and interpretable attributes from a seismic image produced using some migration method to inform characteristics of a subsurface reservoir or target of interest. Current paradigms for computing seismic attributes mostly rely on single-task algorithms. We develop an iterative, multi-task machine learning method to learn and infer multiple attributes from a seismic image. This method is composed of two stages: a multi-task inference stage and a multi-modal, multi-task refinement stage. The basic mechanism of this method is that we train a multi-task inference neural network (NN) to estimate a set of attributes, including a relative geological time (RGT), a denoised higher-resolution (DHR) seismic image, and multiple fault attributes (including probability, dip, and strike), from a low-resolution, noisy seismic image; then we input the inferred attributes to a multi-task refinement NN to enhance the raw inference results iteratively. The two multi-task NNs are trained separately based on synthetic seismic images and associated attributes generated by a geological modeling algorithm. The software we intend to release is a PyTorch implementation of this multi-task learning method for both 2D and 3D cases along with scripts to run the training/validation. The algorithm and software can be a useful tool for automatic seismic interpretation.
A Perspective on Quantum Computing Applications in Quantum Chemistry Using 25-100 Logical Qubits
The intersection of quantum computing and quantum chemistry represents a promising frontier for achieving quantum utility in domains of both scientific and societal relevance. Owing to the exponential growth of classical resource requirements for simulating quantum systems, quantum chemistry has long been recognized as a natural candidate for quantum computation. This perspective focuses on identifying scientifically meaningful use cases where early fault-tolerant quantum computers, which are considered to be equipped with approximately 25-100 logical qubits, could deliver tangible impact. While recent advances in classical computing have pushed the boundaries of tractable simulations to unprecedented scales, this logical-qubit regime represents the first window where quantum devices can pursue qualitatively distinct strategies, such as polynomial-scaling phase estimation, direct simulation of quantum dynamics, and active-space embedding, that remain challenging for classical solvers, such as multireference charge-transfer and conical-intersection states central to photochemistry and materials design. We highlight near-term opportunities in algorithm and software design, discuss representative chemical problems suited for quantum acceleration, and propose strategic roadmaps and collaborative pathways for advancing practical quantum utility in quantum chemistry.
HamLib: A library of Hamiltonians for benchmarking quantum algorithms and hardware
In order to characterize and benchmark computational hardware, software, and algorithms, it is essential to have many problem instances on-hand. This is no less true for quantum computation, where a large collection of real-world problem instances would allow for benchmarking studies that in turn help to improve both algorithms and hardware designs. To this end, here we present a large dataset of qubit-based quantum Hamiltonians. The dataset, called HamLib (for Hamiltonian Library), is freely available online and contains problem sizes ranging from 2 to 1000 qubits. HamLib includes problem instances of the Heisenberg model, Fermi-Hubbard model, Bose-Hubbard model, molecular electronic structure, molecular vibrational structure, MaxCut, Max- k -SAT, Max- k -Cut, QMaxCut, and the traveling salesperson problem. The goals of this effort are (a) to save researchers time by eliminating the need to prepare problem instances and map them to qubit representations, (b) to allow for more thorough tests of new algorithms and hardware, and (c) to allow for reproducibility and standardization across research studies.
A Comprehensive Cross-Model Framework for Benchmarking the Performance of Quantum Hamiltonian Simulations
Not Available
flifish
Identifying single molecules from fluorescence images obtained by a camera and obtain their location and intensity has many applications. We have developed an efficient mathematical algorithm for this task and translate it into computer software. Our algorithm are fast, stable and accurate comparing other programs to do the similar task. We have used our software in several scientific research areas, such as tracking receptors in live cells, super resolution fluorescence microscopy, and counting mRNA copies in cells.
PV Validation Hub
The Validation Hub will be a clearinghouse for the transfer of novel algorithms and software from the PV research community to industry. Potential algorithms tested in the Hub could include the estimation of various PV loss factors and the detection of various operational issues. The primary function of the Hub will be for developers to submit executable code which will run on hosted data sets. Developers will receive private reports on the accuracy and performance (e.g., run-time) of the submitted algorithms, and public high level summaries will be hosted. These summaries will indicate the organization who submitted the algorithm (e.g., links to GitHub pages, documentation websites, etc.), high-level accuracy metrics, and standardized performance metrics. These results will be stored in a publicly available database, accessible through the Hub, with the ability for users to sort and filter the results. In short, the Hub will be presented to public users as a collection of interactive leaderboards, organized around specific analysis tasks pertinent to the PV data science community. These tasks include things such as the estimation of various PV loss factors and the detection of various operational issues. We will present progress on the development of this hub, including preliminary results of comparative validation of PV data science algorithms and progress towards building the platform itself.
Graph Contractions for Calculating Correlation Functions in Lattice QCD
Computing correlation functions for many-particle systems in Lattice QCD is vital to extract nuclear physics observables like the energy spectrum of hadrons such as protons. However, this type of calculation has long been considered to be very challenging and computing-resource intensive because of the complex nature of a hadron composed of quarks with many degrees of freedom. In particular, a correlation function can be calculated through a sum of all possible pairs of quark contractions, each of which is a batched tensor contraction, dictated by Wick's theorem. Because the number of terms of this sum can be very large for any hadronic system of interest, fast evaluation of the sum faces several challenges: an extremely large number of contractions, a huge memory footprint at runtime, and the speed of tensor contractions. In this paper, we present a Lattice QCD analysis software suite, Redstar, which addresses these challenges by utilizing novel algorithmic and software engineering methods targeting modern computing platforms such as many-core CPUs and GPUs. In particular, Redstar represents every term in the sum of a correlation function by a graph, applies efficient graph algorithms to reduce the number of contractions to lower the cost of computations, and minimizes the total memory footprint. Moreover, Redstar carries out the contractions on either CPUs or GPUs utilizing an internal and highly efficient Hadron contraction library. Specifically, we illustrate some important algorithmic optimizations of Redstar, show various key design features of Hadron library, and present the speedup values due to the optimizations along with performance figures for calculating six correlations functions on four computing platforms.
Graph Contractions for Calculating Correlation Functions in Lattice QCD
Computing correlation functions for many-particle systems in Lattice QCD is vital to extract nuclear physics observables like the energy spectrum of hadrons such as protons. However, this type of calculation has long been considered to be very challenging and computing-resource intensive because of the complex nature of a hadron composed of quarks with many degrees of freedom. In particular, a correlation function can be calculated through a sum of all possible pairs of quark contractions, each of which is a batched tensor contraction, dictated by Wick's theorem. Because the number of terms of this sum can be very large for any hadronic system of interest, fast evaluation of the sum faces several challenges: an extremely large number of contractions, a huge memory footprint at runtime, and the speed of tensor contractions. In this paper, we present a Lattice QCD analysis software suite, Redstar, which addresses these challenges by utilizing novel algorithmic and software engineering methods targeting modern computing platforms such as many-core CPUs and GPUs. In particular, Redstar represents every term in the sum of a correlation function by a graph, applies efficient graph algorithms to reduce the number of contractions to lower the cost of computations, and minimizes the total memory footprint. Moreover, Redstar carries out the contractions on either CPUs or GPUs utilizing an internal and highly efficient Hadron contraction library. Specifically, we illustrate some important algorithmic optimizations of Redstar, show various key design features of Hadron library, and present the speedup values due to the optimizations along with performance figures for calculating six correlations functions on four computing platforms.
Performance Portability Evaluation of OpenCL Benchmarks across Intel and NVIDIA Platforms
We evaluate the capabilities of vendor-provided OpenCL implementations for performance portability across multiple computing platforms. The Rodinia benchmark suite is used for this evaluation. We apply the metric defined by Pennycook et al., and we use roofline efficiency from the Roofline performance model as the "performance efficiency" in the metric's definition. We found that the delivered performance portability is similar for several benchmarks, even if the roofline-based performance efficiencies across platforms are very different among the benchmarks. To help distinguish between these instances, we extend the metric by adding the standard deviation of the performance efficiencies for each benchmark. We argue that the standard deviation gives additional insight into performance portability assessment since it adds the performance variability across platforms. Additionally, we discuss the challenges to measure performance portability associated with algorithms and system software. In terms of algorithms, we need to carefully construct the benchmarks and appropriately use the concurrency available on a platform. In terms of system software, we depend on the vendor performance tools to support the desired programming model and runtime to be able to measure the metrics of interest.
Electronic structure with direct diagonalization on a D-wave quantum annealer
Quantum chemistry is regarded to be one of the first disciplines that will be revolutionized by quantum computing. Although universal quantum computers of practical scale may be years away, various approaches are currently being pursued to solve quantum chemistry problems on near-term gate-based quantum computers and quantum annealers by developing the appropriate algorithm and software base. This work implements the general Quantum Annealer Eigensolver (QAE) algorithm to solve the molecular electronic Hamiltonian eigenvalue-eigenvector problem on a D-Wave 2000Q quantum annealer. The approach is based on the matrix formulation, efficiently uses qubit resources based on a power-of-two encoding scheme and is hardware-dominant relying on only one classically optimized parameter. We demonstrate the use of D-Wave hardware for obtaining ground and excited electronic states across a variety of small molecular systems. The approach can be adapted for use by a vast majority of electronic structure methods currently implemented in conventional quantum-chemical packages. The results of this work will encourage further development of software such as qbsolv which has promising applications in emerging quantum information processing hardware and has expectation to address large and complex optimization problems intractable for classical computers.
XES_Neo_Public
XES Neo is a fitting software that was based on the already approved EXAFS Neo genetic algorithm fitting software code. Using the principles of genetics, data fitting is done for x-ray emission spectroscopy data. Using the EXAFS Neo open source code, as well as the open source xes_neo code written by other collaborators, a new final repository for XES Neo was created with several necessary changes for general user use.