Search NASA⌕ Search

SEARCH · Search NASA

Results for “Algorithms and data structure”

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 163 records · Page 9

NMR_DIFFSIM v. 1.0

The software generates and analyzes nuclear magnetic resonance spin diffusion simulations for the purpose of measuring domain sizes or spin diffusion constants in a heterogenous sample. Its primary capabilities are: 1. It solves the spin magnetization diffusion equation to simulate the results of a spin diffusion experiment using any structural input geometry, including structure models generated by molecular dynamics or other computational or experimental methods. 2. It compares the results of simulations on an input structure to experimental data, providing a data fitting algorithm to extract physical information from the experimental data via the simulation. 3. It can provide statistical measures to compare correlations between structural models, to determine domain clustering and connectedness, and to provide goodness-of-fit measures including chord length distributions, chi-squared values, Pearson coefficients and pair correlation functions. 4. It provides output reports, data files, and movies to visualize simulation results.

Sorte, Eric↗

Fast and Accurate Support Vector Machines on Large Scale Systems

Support Vector Machines (SVM) is a supervised Machine Learning and Data Mining (MLDM) algorithm, which has become ubiquitous largely due to its high accuracy and obliviousness to dimensionality. The objective of SVM is to find an optimal boundary --- also known as hyperplane --- which separates the samples (examples in a dataset) of different classes by a maximum margin. Usually, very few samples contribute to the definition of the boundary. However, existing parallel algorithms use the entire dataset for finding the boundary, which is sub-optimal for performance reasons. In this paper, we propose a novel distributed memory algorithm to eliminate the samples which do not contribute to the boundary definition in SVM. We propose several heuristics, which range from early (aggressive) to late (conservative) elimination of the samples, such that the overall time for generating the boundary is reduced considerably. In a few cases, a sample may be eliminated (shrunk) pre-emptively --- potentially resulting in an incorrect boundary. We propose a scalable approach to synchronize the necessary data structures such that the proposed algorithm maintains its accuracy. We consider the necessary trade-offs of single/multiple synchronization using in-depth time-space complexity analysis. We implement the proposed algorithm using MPI and compare it with libsvm--- de facto sequential SVM software --- which we enhance with OpenMP for multi-core/many-core parallelism. Our proposed approach shows excellent efficiency using up to 4096 processes on several large datasets such as UCI HIGGS Boson dataset and Offending URL dataset.

Vishnu, Abhinav↗

Irregular Applications: Architectures & Algorithms

Irregular applications are characterized by irregular data structures, control and communication patterns. Novel irregular high performance applications which deal with large data sets and require have recently appeared. Unfortunately, current high performance systems and software infrastructures executes irregular algorithms poorly. Only coordinated efforts by end user, area specialists and computer scientists that consider both the architecture and the software stack may be able to provide solutions to the challenges of modern irregular applications.

99 GENERAL AND MISCELLANEOUS↗

Machine Learning Toolkit for Extreme Scale

Support Vector Machines (SVM) is a popular machine learning technique, which has been applied to a wide range of domains such as science, finance, and social networks for supervised learning. MaTEx undertakes the challenge of designing a scalable parallel SVM training algorithm for large scale systems, which includes commodity multi-core machines, tightly connected supercomputers and cloud computing systems. Several techniques are proposed for improved speed and memory space usage including adaptive and aggressive elimination of samples for faster convergence , and sparse format representation of data samples. Several heuristics for earliest possible to lazy elimination of non-contributing samples are considered in MaTEx. In many cases, where an early sample elimination might result in a false positive, low overhead mechanisms for reconstruction of key data structures are proposed. The proposed algorithm and heuristics are implemented and evaluated on various publicly available datasets

Source record↗

Machine Learning Toolkit for Extreme Scale

Support Vector Machines (SVM) is a popular machine learning technique, which has been applied to a wide range of domains such as science, finance, and social networks for supervised learning. MaTEx undertakes the challenge of designing a scalable parallel SVM training algorithm for large scale systems, which includes commodity multi-core machines, tightly connected supercomputers and cloud computing systems. Several techniques are proposed for improved speed and memory space usage including adaptive and aggressive elimination of samples for faster convergence , and sparse format representation of data samples. Several heuristics for earliest possible to lazy elimination of non-contributing samples are considered in MaTEx. In many cases, where an early sample elimination might result in a false positive, low overhead mechanisms for reconstruction of key data structures are proposed. The proposed algorithm and heuristics are implemented and evaluated on various publicly available datasets

Source record↗

A Work-Efficient Parallel Sparse Matrix-Sparse Vector Multiplication Algorithm

We design and develop a work-efficient multithreaded algorithm for sparse matrix-sparse vector multiplication (SpMSpV) where the matrix, the input vector, and the output vector are all sparse. SpMSpV is an important primitive in the emerging GraphBLAS standard and is the workhorse of many graph algorithms including breadth-first search, bipartite graph matching, and maximal independent set. As thread counts increase, existing multithreaded SpMSpV algorithms can spend more time accessing the sparse matrix data structure than doing arithmetic. Our shared-memory parallel SpMSpV algorithm is work efficient in the sense that its total work is proportional to the number of arithmetic operations required. The key insight is to avoid each thread individually scan the list of matrix columns. Our algorithm is simple to implement and operates on existing column-based sparse matrix formats. It performs well on diverse matrices and vectors with heterogeneous sparsity patterns. A high-performance implementation of the algorithm attains up to 15x speedup on a 24-core Intel Ivy Bridge processor and up to 49x speedup on a 64-core Intel KNL manycore processor. In contrast to implementations of existing algorithms, the performance of our algorithm is sustained on a variety of different input types include matrices representing scale-free and high-diameter graphs.

97 MATHEMATICS AND COMPUTING↗

A hypermatrix formulation for subspace iteration

The computational efficiency of subspace iteration is addressed relative to the data structures adopted for the very large and generally sparse coefficient matrices. The frequent triangulations and matrix multiplications demand that access to the terms in the coefficient matrices be unbiased. Reliance on virtual memory (paging) operating systems with no special considerations for localized data access is not adequate. Specific data structures must be designed that accommodate the needs of the numerical algorithm yet eliminate unnecessary paging. An implementation of the subspace iteration method using hypermatrix data structures is presented. Use of hypermatrices is shown to provide unbiased and localized data access. The various modifications to the conventional formulation are described and an example problem illustrates the potential benefits of the hypermatrix formulation. Possibilities for adapting hypermatrix data structures to new supercomputer architectures are discussed.

Schmidt, Richard J.↗

Algorithms for Efficient Reproducible Floating Point Summation

We define “reproducibility” as getting bitwise identical results from multiple runs of the same program, perhaps with different hardware resources or other changes that should not affect the answer. Many users depend on reproducibility for debugging or correctness. However, dynamic scheduling of parallel computing resources, combined with nonassociative floating point addition, makes reproducibility challenging even for summation, or operations like the BLAS. We describe a “reproducible accumulator” data structure (the “binned number”) and associated algorithms to reproducibly sum binary floating point numbers, independent of summation order. We use a subset of the IEEE Floating Point Standard 754-2008 and bitwise operations on the standard representations in memory. Our approach requires only one read-only pass over the data, and one reduction in parallel, using a 6-word reproducible accumulator (more words can be used for higher accuracy), enabling standard tiling optimization techniques. Summing n words with a 6-word reproducible accumulator requires approximately 9 n floating point operations (arithmetic, comparison, and absolute value) and approximately 3 n bitwise operations. The final error bound with a 6-word reproducible accumulator and our default settings can be up to 2 29 times smaller than the error bound for conventional (recursive) summation on ill-conditioned double-precision inputs.

Computer Science↗

A fuzzy measure approach to motion frame analysis for scene detection

This paper addresses a solution to the problem of scene estimation of motion video data in the fuzzy set theoretic framework. Using fuzzy image feature extractors, a new algorithm is developed to compute the change of information in each of two successive frames to classify scenes. This classification process of raw input visual data can be used to establish structure for correlation. The algorithm attempts to fulfill the need for nonlinear, frame-accurate access to video data for applications such as video editing and visual document archival/retrieval systems in multimedia environments.

Leigh, Albert B.↗

A Synchronized Sensor Array for Remote Monitoring of Avian and Bat Interactions with Offshore Renewable Energy Facilities

Wind energy production in the U.S. is projected to increase to 35% of our nation’s energy by 2050. This substantial increase in the U.S. is only a portion of the global wind industry growth, as many countries strive to reduce greenhouse gas emissions. A major environmental concern and potential market barrier for expansion of wind energy is bird and bat mortality from impacts with turbine blades, towers, and nacelles. Carcass surveys are the standard protocol for quantifying mortality at onshore sites. This method is imperfect, however, due to survey frequency at remote sites, removal of carcasses by scavengers between surveys, searcher efficiency, and other biases as well as delays of days to weeks or more in obtaining information on collision events. Furthermore, carcass surveys are not feasible at offshore wind energy sites. Near-real-time detection and quantification of interaction rates is possible at both onshore and offshore wind facilities using an onboard, integrated sensor package with data transmitted to central processing centers. We developed and experimentally tested an array of sensors that continuously monitors for interactions (including impacts) of birds and bats with wind turbines. The synchronized array includes three sensor nodes: (1) vibration (accelerometers and contact microphones), (2) optical (visual and infrared spectrum cameras), and (3) bioacoustics (acoustic and ultrasonic microphones). Accelerometers and contact acoustic microphones are placed at the root of each blade to detect impact vibrations and sound waves propagating through the structure. On-board data processing algorithms using wavelet analysis detect impact signals exceeding background vibration. Stereo-visual and infrared cameras were placed on the nacelle to allow target tracking, distance, and size calculations. On-board image processing and target detection algorithms identify moving targets within the camera field of view. Bioacoustic recorders monitor vocalizations and echolocations to aid in identifying organisms involved in interactions. Data from all sensors are temporarily stored in ring (i.e., circular) buffers with a duration varying by sensor type. Detection of target presence or impact by any of the sensors can trigger the archiving of data from all buffers for transmission to a central data processing center for evaluation and post-processing. This mitigates the risk of “data mortgages” posed by continual recording and minimizes personnel time required to manually review event data. We first conducted individual component tests at laboratories and field sites in Corvallis and Newport, Oregon, and Seattle and Sequim, Washington. We conducted additional component tests on research wind turbines at the North American Wind Research and Training Center, Mesalands Community College (MCC; General Electric 1.5 MW turbine), New Mexico, and the National Wind Technology Center, National Renewable Energy Laboratory (NREL; Controls Advanced Research Turbines 3 [CART 3] 600 kW Westinghouse turbine), Colorado. We conducted fully integrated system tests at NREL in October 2014 and April 2015. We used only research wind turbines so that we could conduct controlled, experimentally generated impacts using empty and water-filled tennis balls shot from a compressed air cannon on the ground. The approx. 57-140 g tennis balls (depending on water content) were at the upper mass range for bats, but lower mass range for marine birds. Therefore, the ability to detect collisions of most seabirds is likely greater than our experiments demonstrate, but possibly lower for some bats depending on the background signal of a given turbine. Vibration data demonstrated that background signals of operating turbines varied markedly among the CART 3 under normal operation (greatest), GE (moderate), and CART 3 during idle rotation (generator not engaged; least). In total, we measured 63 experimental blade impacts on the two research turbines. Impaction detection was dependent on background signals, position of impact on the blade (a tip strike resulted in the strongest impact signal), and impact kinetics (velocity of ball and whether the ball struck the surface of the blade or the leading edge of the blade struck the ball). Overall detection percentage ranged from 100% for the “quietest” conditions (CART 3 idle rotation), down to 35% for the noisiest (CART 3 normal operation). Impact signals were detected from sensors on more than one blade (i.e., blades other than the blade struck) 50% - 75% of the time. Stereo imaging provided valuable metrics, but increased data processing and equipment cost. Given the cost of cameras with sufficient resolution for target identification, we suggest mounting cameras directly on the blades to continuously view the entire rotor swept area with the fewest number of cameras. Bioacoustic microphones provide taxonomic identification, as well as information on ambient noise levels. They also assist in identifying environmental conditions such as hail storms, high winds, thunder, lightning, etc., that may contribute to a collision or a false positive detection. We demonstrated a proof of concept for an integrated sensor array to detect and identify bird and bat collisions with wind turbines. The next phase of research and development for this system will miniaturize and integrate sensors from all three nodes into a single wireless package that can be attached directly to the blade. This next generation system would use all “smart” sensors capable of onboard data processing to drastically reduce data streams and processing time on a central computer. A provisional patent for the blade mounted system was submitted by Oregon State University and recorded by the U.S. Patent and Trademark Office (application no. 62313028). Eventually, technology and industry advances will allow this low cost monitoring system to be designed into materials during manufacturing so that all turbines could be monitored with either a subset or full suite of sensors. As standard equipment on all commercial turbines, the sensor suite would allow the industry to effectively monitor whether individual turbines were causing mortalities or not and under what circumstances. It would also provide real-time evaluation of mechanical and structural integrity of a turbine via vibration, image, and acoustic data streams, thereby permitting modifications in operation to limit environmental or mechanical damage.

17 WIND ENERGY↗

A Communication-Avoiding 3D LU Factorization Algorithm for Sparse Matrices

We propose a new algorithm to improve the strong scalability of right-looking sparse LU factorization on distributed memory systems. Our 3D sparse LU algorithm uses a three-dimensional MPI process grid, aggressively exploits elimination tree parallelism and trades off increased memory for reduced per-process communication. We also analyze the asymptotic improvements for planar graphs (e.g., from 2D grid or mesh domains) and certain non-planar graphs (specifically for 3D grids and meshes). For planar graphs with n vertices, our algorithm reduces communication volume asymptotically in n by a factor of O{log n} and latency by a factor of O{log n}. For non-planar cases, our algorithm can reduce the per-process communication volume by 3× and latency by O{n^1/3} times. In all cases, the memory needed to achieve these gains is a constant factor. We implemented our algorithm by extending the 2D data structure used in superLU. Our new 3D code achieves speedups up to 27× for planar graphs and up to 3.3× for non-planar graphs over the baseline 2D superLU when run on 24,000 cores of a Cray XC30.

Sao, Piyush↗

Labeled trees and the efficient computation of derivations

The effective parallel symbolic computation of operators under composition is discussed. Examples include differential operators under composition and vector fields under the Lie bracket. Data structures consisting of formal linear combinations of rooted labeled trees are discussed. A multiplication on rooted labeled trees is defined, thereby making the set of these data structures into an associative algebra. An algebra homomorphism is defined from the original algebra of operators into this algebra of trees. An algebra homomorphism from the algebra of trees into the algebra of differential operators is then described. The cancellation which occurs when noncommuting operators are expressed in terms of commuting ones occurs naturally when the operators are represented using this data structure. This leads to an algorithm which, for operators which are derivations, speeds up the computation exponentially in the degree of the operator. It is shown that the algebra of trees leads naturally to a parallel version of the algorithm.

Grossman, Robert↗

Automated digital motion-video abstraction - A fuzzy measure approach

This paper addresses a solution to the problem of scene estimation of motion video data in the fuzzy set theoretic framework. Using fuzzy image feature extractors, a new algorithm is developed to compute the change of information in each of two successive frames to classify scenes. This classification process of raw input visual data can be used to establish structure for correlation. The algorithm attempts to fulfill the need for non-linear, frame-accurate access to video data for applications such as video editing and visual document archival/retrieval systems in multimedia environments.

Leigh, Albert B.↗

Certification trails for data structures

Certification trails are a recently introduced and promising approach to fault detection and fault tolerance. The applicability of the certification trail technique is significantly generalized. Previously, certification trails had to be customized to each algorithm application; trails appropriate to wide classes of algorithms were developed. These certification trails are based on common data-structure operations such as those carried out using these sets of operations such as those carried out using balanced binary trees and heaps. Any algorithms using these sets of operations can therefore employ the certification trail method to achieve software fault tolerance. To exemplify the scope of the generalization of the certification trail technique provided, constructions of trails for abstract data types such as priority queues and union-find structures are given. These trails are applicable to any data-structure implementation of the abstract data type. It is also shown that these ideals lead naturally to monitors for data-structure operations.

Sullivan, Gregory F.↗

Development of advanced acreage estimation methods

The development of an accurate and efficient algorithm for analyzing the structure of MSS data, the application of the Akaiki information criterion to mixture models, and a research plan to delineate some of the technical issues and associated tasks in the area of rice scene radiation characterization are discussed. The AMOEBA clustering algorithm is refined and documented.

Guseman, L. F., Jr.↗

Clinical Natural Language Processing for Radiation Oncology: A Review and Practical Primer

Natural language processing (NLP), which aims to convert human language into expressions that can be analyzed by computers, is one of the most rapidly developing and widely used technologies in the field of artificial intelligence. Natural language processing algorithms convert unstructured free text data into structured data that can be extracted and analyzed at scale. In medicine, this unlocking of the rich, expressive data within clinical free text in electronic medical records will help untap the full potential of big data for research and clinical purposes. Recent major NLP algorithmic advances have significantly improved the performance of these algorithms, leading to a surge in academic and industry interest in developing tools to automate information extraction and phenotyping from clinical texts. Thus, these technologies are poised to transform medical research and alter clinical practices in the future. Radiation oncology stands to benefit from NLP algorithms if they are appropriately developed and deployed, as they may enable advances such as automated inclusion of radiation therapy details into cancer registries, discovery of novel insights about cancer care, and improved patient data curation and presentation at the point of care. However, challenges remain before the full value of NLP is realized, such as the plethora of jargon specific to radiation oncology, nonstandard nomenclature, a lack of publicly available labeled data for model development, and interoperability limitations between radiation oncology data silos. Successful development and implementation of high quality and high value NLP models for radiation oncology will require close collaboration between computer scientists and the radiation oncology community. Here, we present a primer on artificial intelligence algorithms in general and NLP algorithms in particular; provide guidance on how to assess the performance of such algorithms; review prior research on NLP algorithms for oncology; and describe future avenues for NLP in radiation oncology research and clinics.

62 RADIOLOGY AND NUCLEAR MEDICINE↗

Development of a Genetic Algorithm to Automate Clustering of a Dependency Structure Matrix

Much technology assessment and organization design data exists in Microsoft Excel spreadsheets. Tools are needed to put this data into a form that can be used by design managers to make design decisions. One need is to cluster data that is highly coupled. Tools such as the Dependency Structure Matrix (DSM) and a Genetic Algorithm (GA) can be of great benefit. However, no tool currently combines the DSM and a GA to solve the clustering problem. This paper describes a new software tool that interfaces a GA written as an Excel macro with a DSM in spreadsheet format. The results of several test cases are included to demonstrate how well this new tool works.

Rogers, James L.↗

STUDIES IN ASTRONOMICAL TIME SERIES ANALYSIS. VI. BAYESIAN BLOCK REPRESENTATIONS

This paper addresses the problem of detecting and characterizing local variability in time series and other forms of sequential data. The goal is to identify and characterize statistically significant variations, at the same time suppressing the inevitable corrupting observational errors. We present a simple nonparametric modeling technique and an algorithm implementing it-an improved and generalized version of Bayesian Blocks-that finds the optimal segmentation of the data in the observation interval. The structure of the algorithm allows it to be used in either a real-time trigger mode, or a retrospective mode. Maximum likelihood or marginal posterior functions to measure model fitness are presented for events, binned counts, and measurements at arbitrary times with known error distributions. Problems addressed include those connected with data gaps, variable exposure, extension to piecewise linear and piecewise exponential representations, multivariate time series data, analysis of variance, data on the circle, other data modes, and dispersed data. Simulations provide evidence that the detection efficiency for weak signals is close to a theoretical asymptotic limit derived by Arias-Castro et al. In the spirit of Reproducible Research all of the code and data necessary to reproduce all of the figures in this paper are included as supplementary material.

79 ASTRONOMY AND ASTROPHYSICS↗