Search NASA⌕ Search

SEARCH · Search NASA

Results for “THREADED PROGRAMMING”

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 217 records · Page 12

Towards reverse mode automatic differentiation of Kokkos-based codes

Derivative computation is a key component of optimization, sensitivity analysis, uncertainty quantification, and the solving of nonlinear problems. Automatic differentiation (AD) is a powerful technique for evaluating such derivatives, and in recent years, has been integrated into programming environments such as Jax, PyTorch, and TensorFlow to support derivative computations needed for training of machine learning models, facilitating wide-spread use of these technologies. The C++ language has become the de facto standard for scientific computing due to numerous factors, yet language complexity has made the wide-spread adoption of AD technologies for C++ difficult, hampering the incorporation of powerful differentiable programming approaches into C++ scientific simulations. This is exacerbated by the increasing emergence of architectures, such as GPUs, with limited memory capabilities and requiring massive thread-level concurrency. C++ AD tools must effectively use these environments to bring novel scientific simulations to next-generation DOE experimental and observational facilities. In this project, we investigated source transformation-based automatic differentiation using LLVM compiler infrastructure to automatically generate portable and efficient gradient computations of Kokkos-based code. We have demonstrated that our proposed strategy is feasible by investigating the usage of a prototype LLVM-based source transformation tool to generate gradients of simple functions made of sequences of simple Kokkos parallel regions. Speedups of up to 500x compared to Sacado were observed on NVIDIA V100 GPU.

97 MATHEMATICS AND COMPUTING↗

Propulsion technology needs for advanced space transportation systems

Plans have been formulated for chemical propulsion technology programs to meet the needs of advanced space transportation systems during the two decades from 1980 to the year 2000. The many possible vehicle applications have been reviewed and cataloged to isolate the common threads of primary propulsion technology that will satisfy near term requirements in the first decade and at the same time establish the technology groundwork for various potential far term applications in the second decade. Two thrust classes of primary propulsion engines are apparent: (1) 5,000 to 30,000 pounds thrust for upper stages and space maneuvering; (2) large booster engines of over 250,000 pounds thrust. Six major classes of propulsion systems and the important subdivisions of each class have been identified. The relative importance of each class is discussed in terms of the number of potential applications, the likelihood of that application materializing, and the criticality of the technology needed. Specific technology programs are described and scheduled to fulfill the anticipated primary propulsion technology requirements of the period.

Gregory, J. W.↗

From Count Rates to Quantifying Isotopic Activities – Field Analysis of Radiation Monitoring Data

The Nevada National Security Site (NNSS) provides a comprehensive bicoastal radiological and nuclear emergency response to United States Department of Energy/National Nuclear Security Administration. A major part of the support is to provide systematic radiological search for lost or stolen sources, Radiological search is a core competency of the NNSS with its origin dating back to nuclear weapons test era. Search operations from multiple platforms is the common thread among the various NNSS assets, which include Aerial Measuring System (AMS), Maritime Support Team (MST), National Capitol Response (NCR), National Search Team (NST) and Radiological Assistance Program (RAP). Information collected and analyzed during search operations add to the actionable intelligence for the law enforcement agencies and provide valuable guidance for the tactical resolution of a nuclear or radiological crisis. Search is an intelligence and situational awareness driven operation and most often called upon during a radiological emergency, however it can be brought into play to thwart a potential threat by providing monitoring and surveillance support. The Office of Nuclear Incident Response (NA-84) serves as the technical leader in responding to and resolving nuclear and radiological threats worldwide and integrates its efforts with other NNSA stakeholders (e.g., NNSA office of Defense Nuclear Non-proliferation NA-22). The response includes expertise in the areas of radiological search, render safe, and consequence management. This article will discuss the methodologies, tools, procedures, and techniques to extract maximum radiological characterization information (isotopic composition, activities for individual isotopes, threat assessment etc.) from field monitoring or Search operation data.

61 RADIATION PROTECTION AND DOSIMETRY↗

Heterogeneous scalable framework for multiphase flows

Two categories of challenges confront the developer of computational spray models: those related to the computation and those related to the physics. Regarding the computation, the trend towards heterogeneous, multi- and many-core platforms will require considerable re-engineering of codes written for the current supercomputing platforms. Regarding the physics, accurate methods for transferring mass, momentum and energy from the dispersed phase onto the carrier fluid grid have so far eluded modelers. Significant challenges also lie at the intersection between these two categories. To be competitive, any physics model must be expressible in a parallel algorithm that performs well on evolving computer platforms. This work created an application based on a software architecture where the physics and software concerns are separated in a way that adds flexibility to both. The develop spray-tracking package includes an application programming interface (API) that abstracts away the platform-dependent parallelization concerns, enabling the scientific programmer to write serial code that the API resolves into parallel processes and threads of execution. The project also developed the infrastructure required to provide similar API s to other application. The API allow object-oriented Fortran applications direct interaction with Trilinos to support memory management of distributed objects in central processing units (CPU) and graphic processing units (GPU) nodes for applications using C++.

71 CLASSICAL AND QUANTUM MECHANICS, GENERAL PHYSIC↗

Development of Monitoring Techniques for Laser Powder Bed Additive Manufacturing of Metal Structures (Progress Report)

The Transformational Challenge Reactor (TCR) program is leveraging additive manufacturing (AM) technologies to fabricate nuclear grade components to be assembled into a fully functional microreactor core. Compared to traditional manufacturing technologies, additive manufacturing technologies allow (1) observation of the manufacturing process at a much higher resolution in real time using in situ monitoring technologies to capture the sensor signature that scientifically describes each event occurring over time and space, and (2) validation of the manufacturing process quality using domain-informed data analytics techniques as a potential qualification and certification methodology for the final component. This report provides an update on the program work on laser powder bed fusion in-situ process monitoring and associated data analytics results. Examples are provided to illustrate the progress. Elements of the Digital Thread and data management are discussed in the main document, and an extensive supplemental material section is provided detailing the Digital Platform, as well as its implementation and components. In conclusion the path forward for the next fiscal year is discussed.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

CpRad User's Manual

This is the reference manual for users of the C programming language based proton Radiography simulation package CpRad, pronounced "see p-rad." These simulations are developed and maintained by Los Alamos National Laboratory personnel. Currently there are threaded versions, versions written for MPI, as well as versions that use GPUs. The fundamentals of our proton radiography model are well described in a review. The ray tracing in CpRad also includes the incident angle of the protons based on position in the field of view due to the matching conditions.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

High Performance Computing Based Parallel HIearchical Modal Association Clustering (HPAR HMAC)

For many applications, clustering is a crucial step in order to gain insight into the makeup of a dataset. The best approach to a given problem often depends on a variety of factors, such as the size of the dataset, time restrictions, and soft clustering requirements. The HMAC algorithm seeks to combine the strengths of 2 particular clustering approaches: model-based and linkage-based clustering. One particular weakness of HMAC is its computational complexity. HMAC is not practical for mega-scale data clustering. For high-definition imagery, a user would have to wait months or years for a result; for a 16-megapixel image, the estimated runtime skyrockets to over a decade! To improve the execution time of HMAC, it is reasonable to consider an multi-core implementation that utilizes available system resources. An existing imple-mentation (Ray and Cheng 2014) divides the dataset into N partitions - one for each thread prior to executing the HMAC algorithm. This implementation benefits from 2 types of optimization: parallelization and divide-and-conquer. By running each partition in parallel, the program is able to accelerate computation by utilizing more system resources. Although the parallel implementation provides considerable improvement over the serial HMAC, it still suffers from poor computational complexity, O(N2). Once the maximum number of cores on a system is exhausted, the program exhibits slower behavior. We now consider a modification to HMAC that involves a recursive partitioning scheme. Our modification aims to exploit divide-and-conquer benefits seen by the parallel HMAC implementation. At each level in the recursion tree, partitions are divided into 2 sub-partitions until a threshold size is reached. When the partition can no longer be divided without falling below threshold size, the base HMAC algorithm is applied. This results in a significant speedup over the parallel HMAC.

Patlolla, Dilip R↗

Installing Deep Groundwater Monitoring Wells in a Volcanic Dominated Rift Basin: Los Alamos National Laboratory, New Mexico - 17594

Los Alamos National Laboratory (LANL, or the Laboratory) is located in northern New Mexico near the west margin of the Espanola Basin. LANL is underlain by a complex basin-fill sequence of alluvial fan deposits, volcanic tuff, basaltic and dacitic lavas, and riverine deposits. On-going environmental remediation and characterization activities have evolved to improve the performance of groundwater monitoring wells, ensuring they yield representative groundwater and core samples. Groundwater occurs as canyon-fill alluvial water, perched intermediate-depth water associated with the basalts and other local-scale perching horizons, and as a regional-scale aquifer that is the main water supply for the area. Anthropogenic contaminants are found in all three groundwater zones. The regional aquifer below LANL is nominally 1000-1400 feet below ground surface (bgs). Monitoring wells at the Laboratory, are therefore, among the deepest routinely installed in the US. Logistical challenges at LANL include steep terrain, widespread cultural sites, and threatened and endangered species habitat restrictions. Additionally, the cost of installing monitoring wells is high because of groundwater depths and the variable drilling techniques that are required to characterize and install wells in a complex geologic environment. A major challenge to the characterization approach at LANL has been to meet sample quality requirements while minimizing drilling costs. In the late 1990's threaded drill-casing was advanced by rotary drilling methods using compressed air as the only circulation fluid. This resulted in relatively low impacts to the geochemical integrity of rock and groundwater samples, but led to frequent episodes of stuck casing. Additional fluids were introduced to the air-rotary program, improving penetration rates, but also resulting in non-representative groundwater samples due to long-term impacts to the aquifer in the vicinity of the well screen. Mud-rotary drilling was incorporated into the program, but it also had significant long-term impacts on groundwater quality, and often inhibited identification of perched groundwater zones and accurate identification of the water table in the regional aquifer. Current drilling practice makes limited use of fluid additives (e.g. foam) to supplement air circulation methods in order to advance drill casing through the vadose zone. Starting about 100 feet above the water table, drill casing is advanced to the target horizon in the regional aquifer using only air and municipal water (when needed) for circulation. Additionally, the threaded drill casing couplings have been replaced with welded connections, significantly reducing the occurrence of stuck casing. Careful observations of water production and water levels during drilling, coupled with the ability to retract casing for video and geophysical logs, now allows for robust characterization of perched groundwater systems and accurate definition of the top of regional saturation. Recent advances in the drilling program include combined dual-rotary/sonic drilling to depths up to 1150 feet and dual-rotary casing advance at angles up to 25 deg. from vertical. The former allows for core collection with minimal fluid addition, thereby preserving pore water chemistry. The latter method allows for well installation into portions of the aquifer otherwise inaccessible due to constraints at the surface (e.g., cultural sites or topography). Similar to the development of drilling techniques, both well design and groundwater sampling system design have evolved throughout the program. Current well design emphasizes a minimal annulus of filter pack, maximum screen slot size based on formation sieve analyses, and thorough well development to mitigate formation damage due to drilling. To sample groundwater at multiple levels in the same well, earlier sampling systems included Westbay{sup R} multi-zone systems and dual-screen single-pump and dual-screen dual-pump systems designed in collaboration with Baski, Inc. These multi-zone sampling systems proved difficult to develop and maintain given the depth to groundwater, and most current well installations are configured with a single screen and a submersible pump. The ability to purge from a well-developed single-screen well has substantially improved the collection of representative groundwater samples. A carefully crafted groundwater characterization program in target aquifers at depths ranging from 1,000 to 1,400 feet bgs within a complex geologic setting, while also retaining the ability to collect representative core and groundwater samples, may have application at a number of sites throughout the environmental industry. Optimizing each well to meet program objectives while reducing total project costs benefits all environmental investigations. (authors)

12 MANAGEMENT OF RADIOACTIVE AND NON-RADIOACTIVE W↗

CMS readiness for multi-core workload scheduling

In the present run of the LHC, CMS data reconstruction and simulation algorithms benefit greatly from being executed as multiple threads running on several processor cores. The complexity of the Run 2 events requires parallelization of the code to reduce the memory-per- core footprint constraining serial execution programs, thus optimizing the exploitation of present multi-core processor architectures. The allocation of computing resources for multi-core tasks, however, becomes a complex problem in itself. The CMS workload submission infrastructure employs multi-slot partitionable pilots, built on HTCondor and GlideinWMS native features, to enable scheduling of single and multi-core jobs simultaneously. This provides a solution for the scheduling problem in a uniform way across grid sites running a diversity of gateways to compute resources and batch system technologies. This paper presents this strategy and the tools on which it has been implemented. The experience of managing multi-core resources at the Tier-0 and Tier-1 sites during 2015, along with the deployment phase to Tier-2 sites during early 2016 is reported. The process of performance monitoring and optimization to achieve efficient and flexible use of the resources is also described.

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

Dynamic Undervolting to Improve Energy Efficiency on Multicore X86 CPUs

Chip manufacturers introduce redundancy at various levels of CPU design to guarantee correct operation, even for worst-case combinations of non-idealities in process variation and system operating conditions. This redundancy is implemented partly in the form of voltage margins. However, for a wide range of real-world execution scenarios these margins are excessive and merely translate to increased power consumption, hindering the effort towards higher-energy efficiency in both HPC and general purpose computing. Our study on the x86-64 Haswell and Skylake multicore microarchitectures reveals-wide voltage margins, which vary across different microarchitectures, different chip parts of the same microarchitecture, and across different workloads. We find that it is necessary to quantify-voltage margins using multi-threaded and multi-instance workloads, as characterization with single-threaded and single-instance workloads that do not stress the CPU to its full capacity typically identifies overly optimistic margins that lead to errors when applied in realistic program execution scenarios. In addition, we introduce, deploy and evaluate a run-time governor that dynamically reduces the supply voltage of modern multicore x86-64 CPUs. Our governor employs a model that takes as input a set of performance metrics which are directly measurable via performance monitoring counters and have high predictive value for the minimum tolerable supply voltage (V min ), to predict and apply the appropriate reduction for the workload at hand. Compared with the conventional DVFS governor, our approach in this study achieves up to 42 percent energy savings for the Skylake family and 34 percent for the Haswell family for complex, real-world applications.

97 MATHEMATICS AND COMPUTING↗

Integrated solution techniques for security constrained unit commitment problem

Apparatus and methods are disclosed for solving Mixed Integer Programming (MIP) problems, such as Security Constrained Unit Commitment (SCUC) problems used by power grid authorities to perform day-ahead market clearing. In certain examples, a plurality of threads of a software tool implementing a concurrent optimizer can be executed concurrently and sequentially to generate new solutions to a SCUC problem for an upcoming planning horizon. Data can be shared among the concurrently executing threads, such as intermediate/incumbent solutions and hints regarding the fixing of variables and constraints to reduce the size of the SCUC problem. In some examples, the threads are seeded with historical solutions from prior planning horizons. The software tool can select a best solution from the solutions generated by the threads, and determine dispatch instructions for a device coupled to the power grid for the upcoming planning horizon based at least in part on the selected solution.

Pan, Feng↗

Electromagnetic physics models for parallel computing architectures

The recent emergence of hardware architectures characterized by many-core or accelerated processors has opened new opportunities for concurrent programming models taking advantage of both SIMD and SIMT architectures. GeantV, a next generation detector simulation, has been designed to exploit both the vector capability of mainstream CPUs and multi-threading capabilities of coprocessors including NVidia GPUs and Intel Xeon Phi. The characteristics of these architectures are very different in terms of the vectorization depth and type of parallelization needed to achieve optimal performance. In this paper we describe implementation of electromagnetic physics models developed for parallel computing architectures as a part of the GeantV project. Finally, the results of preliminary performance evaluation and physics validation are presented as well.

97 MATHEMATICS AND COMPUTING↗

Roofline model toolkit: A practical tool for architectural and program analysis

We present preliminary results of the Roofline Toolkit for multicore, many core, and accelerated architectures. This paper focuses on the processor architecture characterization engine, a collection of portable instrumented micro benchmarks implemented with Message Passing Interface (MPI), and OpenMP used to express thread-level parallelism. These benchmarks are specialized to quantify the behavior of different architectural features. Compared to previous work on performance characterization, these microbenchmarks focus on capturing the performance of each level of the memory hierarchy, along with thread-level parallelism, instruction-level parallelism and explicit SIMD parallelism, measured in the context of the compilers and run-time environments. We also measure sustained PCIe throughput with four GPU memory managed mechanisms. By combining results from the architecture characterization with the Roofline model based solely on architectural specifications, this work offers insights for performance prediction of current and future architectures and their software systems. To that end, we instrument three applications and plot their resultant performance on the corresponding Roofline model when run on a Blue Gene/Q architecture.

97 MATHEMATICS AND COMPUTING↗

Performance Analysis of an Actor-Based Distributed Simulation

Object-oriented design of simulation programs appears to be very attractive because of the natural association of components in the simulated system with objects. There is great potential in distributing the simulation across several computers for the purpose of parallel computation and its consequent handling of larger problems in less elapsed time. One approach to such a design is to use "actors", that is, active objects with their own thread of control. Because these objects execute concurrently, communication is via messages. This is in contrast to an object-oriented design using passive objects where communication between objects is via method calls (direct calls when they are in the same address space and remote procedure calls when they are in different address spaces or different machines). This paper describes a performance analysis program for the evaluation of a design for distributed simulations based upon actors.

Schoeffler, James D.↗

First experience of vectorizing electromagnetic physics models for detector simulation

The recent emergence of hardware architectures characterized by many-core or accelerated processors has opened new opportunities for concurrent programming models taking advantage of both SIMD and SIMT architectures. The GeantV vector prototype for detector simulations has been designed to exploit both the vector capability of mainstream CPUs and multi-threading capabilities of coprocessors including NVidia GPUs and Intel Xeon Phi. The characteristics of these architectures are very different in terms of the vectorization depth, parallelization needed to achieve optimal performance or memory access latency and speed. An additional challenge is to avoid the code duplication often inherent to supporting heterogeneous platforms. In this paper we present the first experience of vectorizing electromagnetic physics models developed for the GeantV project.

Amadio, G.↗

Stiffener Jumping for Unitized Stitched Composite Preform Manufacturing

A single-sided stitching head is used to assemble unitized three-dimensional preforms using the NASA Langley Research Center (LaRC) Integrated Structural Assembly of Advanced Composites (ISAAC) robotic manufacturing system. Typically, assembly of a preform includes a “skin” that is stiffened by stiffener elements stitched to the skin. The single-sided stitching head has two needles that pass through the preform from the same side to form the stitch, typically from the smooth outer surface so the needles penetrate through the preform towards the stiffener side. The single-sided head cannot stitch across stiffening elements (e.g., stringer, frame, integral cap, etc.) because the needles would penetrate into the stiffener web, which would not allow the stitch form because the thread movement would be impeded. As a result, stitching seams cannot cross stiffening elements, and therefore are very short and must remain in the skin/flange connections within the space between the stiffening element webs. Each short segment requires a stop and cut process that takes a significant amount of time. A stiffener jumping stitching method was developed that eliminates the need to cut and restart seams when encountering a stiffener, thus providing a long, continuous seam with a significant reduction in stitching time by eliminating cutting operations and associated excess thread end trimming. This stiffener jumping process places what could be considered a very long stitch that bridges the stiffener to connect the end of one segment of the seam with the beginning of the next segment of the seam to provide a longer continuous seam. As a result, all intermediate thread cuts that would be done at the end of each individual segment of the seam are eliminated, with only a single cut at the end of the seam. The process and programming requirements for carrying out the stiffener jumping stitching approach are presented in this paper. Using the presented stiffener jumping approach to produce the long continuous seams, the stitching time for a representative commercial transport unitized stiffened wing cover panel can possibly be reduced by at least 25 percent.

stitched↗

Scaling Irregular Applications through Data Aggregation and Software Multithreading

Bioinformatics, data analytics, semantic databases, knowledge discovery are emerging high performance application areas that exploit dynamic, linked data structures such as graphs, unbalanced trees or unstructured grids. These data structures usually are very large, requiring significantly more memory than available on single shared memory systems. Additionally, these data structures are difficult to partition on distributed memory systems. They also present poor spatial and temporal locality, thus generating unpredictable memory and network accesses. The Partitioned Global Address Space (PGAS) programming model seems suitable for these applications, because it allows using a shared memory abstraction across distributed-memory clusters. However, current PGAS languages and libraries are built to target regular remote data accesses and block transfers. Furthermore, they usually rely on the Single Program Multiple Data (SPMD) parallel control model, which is not well suited to the fine grained, dynamic and unbalanced parallelism of irregular applications. In this paper we present {\bf GMT} (Global Memory and Threading library), a custom runtime library that enables efficient execution of irregular applications on commodity clusters. GMT integrates a PGAS data substrate with simple fork/join parallelism and provides automatic load balancing on a per node basis. It implements multi-level aggregation and lightweight multithreading to maximize memory and network bandwidth with fine-grained data accesses and tolerate long data access latencies. A key innovation in the GMT runtime is its thread specialization (workers, helpers and communication threads) that realize the overall functionality. We compare our approach with other PGAS models, such as UPC running using GASNet, and hand-optimized MPI code on a set of typical large-scale irregular applications, demonstrating speedups of an order of magnitude.

Aggregation↗

Parallel Eclipse Project Checkout

Parallel Eclipse Project Checkout (PEPC) is a program written to leverage parallelism and to automate the checkout process of plug-ins created in Eclipse RCP (Rich Client Platform). Eclipse plug-ins can be aggregated in a feature project. This innovation digests a feature description (xml file) and automatically checks out all of the plug-ins listed in the feature. This resolves the issue of manually checking out each plug-in required to work on the project. To minimize the amount of time necessary to checkout the plug-ins, this program makes the plug-in checkouts parallel. After parsing the feature, a request to checkout for each plug-in in the feature has been inserted. These requests are handled by a thread pool with a configurable number of threads. By checking out the plug-ins in parallel, the checkout process is streamlined before getting started on the project. For instance, projects that took 30 minutes to checkout now take less than 5 minutes. The effect is especially clear on a Mac, which has a network monitor displaying the bandwidth use. When running the client from a developer s home, the checkout process now saturates the bandwidth in order to get all the plug-ins checked out as fast as possible. For comparison, a checkout process that ranged from 8-200 Kbps from a developer s home is now able to saturate a pipe of 1.3 Mbps, resulting in significantly faster checkouts. Eclipse IDE (integrated development environment) tries to build a project as soon as it is downloaded. As part of another optimization, this innovation programmatically tells Eclipse to stop building while checkouts are happening, which dramatically reduces lock contention and enables plug-ins to continue downloading until all of them finish. Furthermore, the software re-enables automatic building, and forces Eclipse to do a clean build once it finishes checking out all of the plug-ins. This software is fully generic and does not contain any NASA-specific code. It can be applied to any Eclipse-based repository with a similar structure. It also can apply build parameters and preferences automatically at the end of the checkout.

Crockett, Thomas M.↗