Search NASA⌕ Search

SEARCH · Search NASA

Results for “Sparse coding”

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.

237 records · Page 14

Data Locality Enhancement of Dynamic Simulations for Exascale Computing (Final Report)

The development of modern processors exhibits two trends that complicate the optimizations of modern software. The first is the increasing sensitivity of processors' throughput to irregularities in computation. With more processors produced through a massive integration of simple cores, future systems will increasingly favor regular data-level parallel computations, but deviate from the needs of applications with complex patterns. Some evidences are already shown on Graphic Processing Units (GPU): Irregular data accesses (e.g., indirect references A[D[i]]) and conditional branches are limiting many GPU applications' performance at a level an order of magnitude lower than the peak of GPU. The second hardware trend is the growing gap between memory bandwidth and the aggregate speed—that is, the sum of all cores' computing power—of a Chip Multiprocessor (CMP). Despite the capped growth of the peak CPU speed, the aggregate speed of a CMP keeps increasing as more cores get into a single chip. It is expected that by 2018, node concurrency in an exascale system will increase by hundreds of times, whereas, memory bandwidth will expand by only 10 to 20 times. Consequently, data movement and storage is expected to consume more than 70% of the total system power. Bridging this gap is difficult; the complexities of modern CMP memory hierarchy make it even harder: Data cache becomes shared among computing units, and the sharing is often non-uniform—whether two computing units share a cache depends on their proximity and the level of the cache. On the recent IBM Power7 architecture, for instance, four hardware contexts (or SMT threads) in a core share the entire memory hierarchy, all cores in one chip share an on-chip L3 cache, and cores across chips share L3 and main memory through off-chip connections. These two trends complicate the translation of computing power into performance, especially for a program with either intensive data accesses or complex patterns in data accesses or control flow paths. Unfortunately, both attributes present and will persist in a class of important applications. For instance, many scientific simulations deal with a large volume of data. And meanwhile, as most real-world processes are non-uniform and evolving (e.g., the evolution of a galaxy or the process of a drug injection), both the computations and data accesses of these programs tend to be irregular and dynamically changing. Currently, the lack of support to these applications on modern CMP severely limits their performance. On GPU, as our recent study shows and other studies echo, performance enhancement of a factor of integers is possible when memory accesses or control flows are streamlined for a set of GPU applications. On multicore CPU, our studies show that traditional locality enhancement, for being oblivious to the new features of multicore memory hierarchy, may even cause large slowdown to data-intensive dynamic applications. The severity of the issues is expected to worsen as the two hardware trends continue. Some recent studies try to match software with the trends, but in a limited scope or manner. For irregularities on GPU, most studies focus on irregularities analyzable through static analysis (e.g., data accesses in regular loops). Dynamic irregularities are harder to address because the needed analysis and transformations typically have to happen at run time. Some other research resorts to hardware extensions, an actual adoption of which is unclear for the entailed space cost and complexity. For data locality, recent years have seen some exploitations of the new memory hierarchy on multicore for performance, but most of them are on process or thread scheduling, rather than program transformations. Our recent study reveals that program-level transformations may magnify the scheduling benefits by a factor of seven, concluding that program-level transformation should play a central role for data locality enhancement on modern CMP. But research in this direction has been sparse, and most have focused on data layout or cache performance modeling, rather than program transformations to match with the new memory hierarchy features. Overall, it is still an open question how to bridge the gap between dynamic computations and the two prominent properties of modern processors. The goal of this project is to develop a set of techniques and software tools to enhance the matching between memory accesses in dynamic simulations and the prominent features of modern and future CMP, alleviating the memory performance issues for petascale and exascale computing. This report summarizes the discoveries and products produced throughout this project. It includes free launch, a new software approach to overcoming the shortcomings of both methods; coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution; algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Supporting dynamic parallelism is important for GPU to benefit a broad range of applications. There are currently two fundamental ways for programs to exploit dynamic parallelism on GPU: a software-based approach with software-managed worklists, and a hardware-based approach through dynamic subkernel launches. Neither is satisfactory. The former is complicated to program and is often subject to some load imbalance; the latter suffers large runtime overhead. In this work, we propose free launch, a new software approach to overcoming the shortcomings of both methods. It allows programmers to use subkernel launches to express dynamic parallelism. It employs a novel compiler-based code transformation named subkernel launch removal to replace the subkernel launches with the reuse of parent threads. Coupled with an adaptive task assignment mechanism, the transformation reassigns the tasks in the subkernels to the parent threads with a good load balance. The technique requires no hardware extensions, immediately deployable on existing GPUs. It keeps the programming convenience of the subkernel launch-based approach while avoiding its large runtime overhead. Meanwhile, its superior load balancing makes it outperform manual worklist-based techniques by 3X on average. The work was published at the 48th Annual IEEE/ACM International Symposium on Microarchitecture (Micro'2015). A Graphic Processing Unit (GPU) system is typically equipped with many types of memory (e.g., global, constant, texture, shared, cache). Data placement determines what data are placed on which type of memory, essential for GPU memory performance. Prior optimizations of data placement always require a single view of a data object on memory, which limits the optimization effectiveness. In this work, we propose coherence-free multiview, an approach that allows multiple views of a single data object to co-exist on GPU memory during a GPU kernel execution. We demonstrate that under certain conditions, the multiple views can remain incoherent while facilitating enhanced data placement. We present a theorem and some compiler support to ensure the soundness of the usage of coherence-free multiview. We further develop reference-discerning data placement, a new way to enhance data placements on GPU. It enables more flexible data placements by using coherence-free multiview to leverage the slack in coherence requirement of some GPU programs. Experiments on three types of GPU systems show that, with less than 200KB space cost, the new data placement technique can provide a 1.6X average (up to 4.27X) speedup. In addition, we have examined algorithmic optimizations to data analytics problems, especially those that involve lots of distance calculations. Computing distances among data points is an essential part of many important algorithms in data analytics, graph analysis, and other domains. In each of these domains, developers have spent significant manual effort optimizing algorithms, often through novel applications of the triangle equality, in order to minimize the number of distance computations in the algorithms. In this work, we observe that many algorithms across these domains can be generalized as an instance of a generic distance-related abstraction. Based on this abstraction, we derive seven principles for correctly applying the triangular inequality to optimize distance-related algorithms. Guided by the findings, we develop Triangular OPtimizer (TOP), the first software framework that is able to automatically produce optimized algorithms that either matches or outperforms manually designed algorithms for solving distance-related problems. TOP achieves up to 237x speedups and 2.5X on average. The work has been published at the 32nd International Conference on Machine Learning (ICML'15) and the 41st International Conference on Very Large Data Bases (VLDB'15).

42 ENGINEERING↗

Nuclear Data – Benchmarking 19 F(α,n) Yield Data for Nuclear Safeguards

Fluorine compounds of U and Pu are ubiquitous in the nuclear fuel cycle, so F(α,n) neutrons are an important signature and quantitative source term that needs to be understood for physics-based interpretation of nondestructive assay measurements. Historically there have been large differences in the basic nuclear data for this reaction reported by various groups. UF 6 is the most prominent material in the nuclear fuel cycle, with the potential for short-term production into weaponizable form. Verification of bulk quantities, natural feed, depleted tails, and especially low enriched product in cylinders is particularly important. The principal physical measurement is neutron counting. For enriched material, the 19 F(α,n) reaction, driven by 234U, is the dominant source of neutrons. Basic nuclear data, cross sections, needed to calculate the yield, as well as information on the source spectrum for sensitivity studies are sparse and highly discrepant. This limits defensible physics-based performance evaluations. The same applies to holdup and criticality studies in which hydrated uranyl fluoride is the material of interest which accumulates in enrichment facilities. In the future we anticipate that the physics community will have made improved accelerator-based measurements and undertaken a more thorough evaluation and adjustment of all relevant available data. But in the short term, this does not help the safeguards community face the pressing real-world nondestructive assay requirements. To address this need, we have performed quality neutron measurements on UF6 materials using well-known material and high-capability neutron counters. A robust determination of the n/s/g of 234 U in UF 6 was generated along with a scientifically defensible uncertainty analysis. The weighted average value of the neutron yield is 509 n/s/g 234 U with a random uncertainty of approximately 1%. Dominant sources of systematic uncertainty are in the efficiency determination where we incur approximately 1.1% relative standard deviation associated with the 252 Cf reference source and about 0.9% uncertainty coming from the uncertainty in the F(α,n) spectrum. The stated uncertainties are an order of magnitude better than current data based on accelerator data reported in the literature. Aside from being of immediate and direct use by the safeguards community, this result will serve as an enduring integral benchmark for subsequent data evaluations that will need to match it in order to be credible. In addition to yield normalization, safeguards users of F(α,n) data also need guidance of the neutron emission spectrum. We have generated a neutron emission using a modified version of the well-known SOURCES 4C code, updated with new alpha stopping power coefficients, and a blended microscopic cross section data set. The yield and spectra are available in a form that MCNP users can readily use.

36 MATERIALS SCIENCE↗

Efficient high-fidelity TRISO statistical failure analysis using Bison: Applications to AGR-2 irradiation testing

The ability of tri-structural isotropic (TRISO) fuel to contain fission products is largely dictated by the quality of the manufacturing process, since most of the fission product release is expected to occur due to coating layer failure in a small number of particles containing defects. The Bison fuel performance code has capabilities to predict failure in individual particles, accounting for the presence of defects, and to apply statistical analysis methods to compute the probability of failure in a set of fuel particles. Bison has recently undergone significant development both to improve its physical representations of fuel particle behavior and to improve the efficiency of its statistical failure calculations. Physical model improvements include new capabilities to account for the pressure generated by fission gases on inner pyrolytic carbon (IPyC) crack surfaces and to use local material coordinate orientation to accurately incorporate the anisotropy in the material properties in aspherical particles. To improve statistical modeling efficiency, a direct integration approach which involves directly integrating the failure probability function associated with statistically varying parameters has been developed. The direct integration approach is much more efficient than the Monte Carlo (MC) schemes commonly employed, and allows Bison to directly run high-dimensional fuel performance models, which improves the accuracy of failure probability calculations. Finally, a set of benchmark problems is considered here to compare the MC and direct integration approaches, and a statistical failure analysis of compacts in the Advanced Gas Reactor (AGR)-2 experiments is performed using the direct integration approach.

36 MATERIALS SCIENCE↗