Search NASA⌕ Search

SEARCH · Search NASA

Results for “program processors”

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 91 records · Page 5

Method of processing an image

A non-transitory computer-readable medium encoded with a computer-readable program, which when executed by a processor, will cause a computer to execute a computational method, the computational method including collecting an image data, wherein the collecting the image data comprises collecting a first plurality of RGB images and a second plurality of hyperspectral images. The method further includes orthorectifying the image data to produce an RGB based orthophoto and a partially rectified hyperspectral orthophoto. The method further includes selecting tie features from each of the RGB based orthophoto and the partially rectified hyperspectral orthophoto. Lastly, the method includes registering the features of the partially rectified hyperspectral orthophoto into the tie features of the RGB based orthophoto.

97 MATHEMATICS AND COMPUTING↗

Linear optimal power flow system and method

An electric power system or power grid is optimized using a computer-implemented tool the represents in computer memory the optimization function and at least one constraint, which the processor operates upon using a linear programming solver algorithm. The constraints are represented in memory as data structures that include both real and reactive power terms, corresponding to at least one of a power flow model and a transmission line model. The transmission line model is represented using a piecewise linear representation. The power flow model may also include for each node in the power system a real power loss term representing transmission line loss allocated to that node.

24 POWER TRANSMISSION AND DISTRIBUTION↗

Method of processing an image

A non-transitory computer-readable medium encoded with a computer-readable program, which when executed by a processor, will cause a computer to execute a computational method, the computational method including collecting an image data, wherein the collecting the image data comprises collecting a first plurality of RGB images and a second plurality of hyperspectral images. The method further includes orthorectifying the image data to produce an RGB based orthophoto and a partially rectified hyperspectral orthophoto. The method further includes selecting tie features from each of the RGB based orthophoto and the partially rectified hyperspectral orthophoto. Lastly, the method includes registering the features of the partially rectified hyperspectral orthophoto into the tie features of the RGB based orthophoto.

97 MATHEMATICS AND COMPUTING↗

Method of processing an image

A non-transitory computer-readable medium encoded with a computer-readable program, which when executed by a processor, will cause a computer to execute a computational method, the computational method including collecting an image data, wherein the collecting the image data comprises collecting a first plurality of RGB images and a second plurality of hyperspectral images. The method further includes orthorectifying the image data to produce an RGB based orthophoto and a partially rectified hyperspectral orthophoto. The method further includes selecting tie features from each of the RGB based orthophoto and the partially rectified hyperspectral orthophoto. Lastly, the method includes registering the features of the partially rectified hyperspectral orthophoto into the tie features of the RGB based orthophoto.

97 MATHEMATICS AND COMPUTING↗

Cache management based on access type priority

Systems, apparatuses, and methods for cache management based on access type priority are disclosed. A system includes at least a processor and a cache. During a program execution phase, certain access types are more likely to cause demand hits in the cache than others. Demand hits are load and store hits to the cache. A run-time profiling mechanism is employed to find which access types are more likely to cause demand hits. Based on the profiling results, the cache lines that will likely be accessed in the future are retained based on their most recent access type. The goal is to increase demand hits and thereby improve system performance. An efficient cache replacement policy can potentially reduce redundant data movement, thereby improving system performance and reducing energy consumption.

Yin, Jieming↗

Load Balancing Scientific Applications

The largest supercomputers have millions of independent processors, and concurrency levels are rapidly increasing. For ideal efficiency, developers of the simulations that run on these machines must ensure that computational work is evenly balanced among processors. Assigning work evenly is challenging because many large modern parallel codes simulate behavior of physical systems that evolve over time, and their workloads change over time. Furthermore, the cost of imbalanced load increases with scale because most large-scale scientific simulations today use a Single Program Multiple Data (SPMD) parallel programming model, and an increasing number of processors will wait for the slowest one at the synchronization points. To address load imbalance, many large-scale parallel applications use dynamic load balance algorithms to redistribute work evenly. The research objective of this dissertation is to develop methods to decide when and how to load balance the application, and to balance it effectively and affordably. We measure and evaluate the computational load of the application, and develop strategies to decide when and how to correct the imbalance. Depending on the simulation, a fast, local load balance algorithm may be suitable, or a more sophisticated and expensive algorithm may be required. We developed a model for comparison of load balance algorithms for a specific state of the simulation that enables the selection of a balancing algorithm that will minimize overall runtime.

97 MATHEMATICS AND COMPUTING↗

Is Monte Carlo embarrassingly parallel?

Monte Carlo is often stated as being embarrassingly parallel. However, running a Monte Carlo calculation, especially a reactor criticality calculation, in parallel using tens of processors shows a serious limitation in speedup and the execution time may even increase beyond a certain number of processors. In this paper the main causes of the loss of efficiency when using many processors are analyzed using a simple Monte Carlo program for criticality. The basic mechanism for parallel execution is MPI. One of the bottlenecks turn out to be the rendez-vous points in the parallel calculation used for synchronization and exchange of data between processors. This happens at least at the end of each cycle for fission source generation in order to collect the full fission source distribution for the next cycle and to estimate the effective multiplication factor, which is not only part of the requested results, but also input to the next cycle for population control. Basic improvements to overcome this limitation are suggested and tested. Also other time losses in the parallel calculation are identified. Moreover, the threading mechanism, which allows the parallel execution of tasks based on shared memory using OpenMP, is analyzed in detail. Recommendations are given to get the maximum efficiency out of a parallel Monte Carlo calculation. (authors)

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

An Uncertainty Quantification Framework for Studying the Effect of Spatial Heterogeneity in Reservoir Permeability on CO2 Sequestration

In this paper, we introduce an uncertainty quantification (UQ) software framework for carbon sequestration, focused on the effect of spatial heterogeneity of reservoir properties on CO2 migration. We use a sequential Gaussian method (SGSIM) to generate realizations of permeability fields with various spatial statistical attributes. To deal with the computational difficulties, we integrate the following ideas/approaches. First, we use three different sampling approaches (probabilistic collocation, quasi-Monte Carlo, and adaptive sampling) to reduce the number of forward calculations while trying to explore the parameter space and quantify the input uncertainty. Second, we use eSTOMP as the forward modeling simulator. eSTOMP is implemented with the Global Arrays toolkit that is based on one-sided inter-processor communication and supports a shared memory programming style on distributed memory platforms, providing a highly-scalable performance. Third, we built an adaptive system infrastructure to select the best possible data transfer mechanisms, to optimally allocate system resources to improve performance and to integrate software packages and data for composing carbon sequestration simulation, computation, analysis, estimation and visualization. We demonstrate the framework with a given CO2 injection scenario in heterogeneous sandstone reservoirs.

Carbon sequestration, uncertainty quantification, ↗

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.↗

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↗

System and method for modeling and analyzing complex scenarios

An embodiment of the present invention includes a method for analyzing and solving possibility tree. A possibility tree having a plurality of programmable nodes is constructed and solved with a solver module executed by a processor element. The solver module executes the programming of said nodes, and tracks the state of at least a variable through a branch. When a variable of said branch is out of tolerance with a parameter, the solver disables remaining nodes of the branch and marks the branch as an invalid solution. The valid solutions are then aggregated and displayed as valid tree solutions.

97 MATHEMATICS AND COMPUTING↗

Controlling accesses to a branch prediction unit for sequences of fetch groups

An electronic device is described that handles control transfer instructions (CTIs) when executing instructions in program code. The electronic device has a processor that includes a branch prediction functional block and a sequential fetch logic functional block. The sequential fetch logic functional block determines, based on a record associated with a CTI, that a specified number of fetch groups of instructions that were previously determined to include no CTIs are to be fetched for execution in sequence following the CTI. When each of the specified number of fetch groups is fetched and prepared for execution, the sequential fetch logic prevents corresponding accesses of the branch prediction functional block for acquiring branch prediction information for instructions in that fetch group.

Yalavarti, Adithya↗

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↗

System and method for managing electrical components for energy usage

A system for managing performance of one or more electrical components in real-time includes one or more sensors to provide working conditions of one or more energy consuming devices. The system further includes one or more actuators coupled to and configured to control the one or more energy consuming devices. Additionally, the system includes a computing device in electrical communication with the one or more sensors and the one or more actuators. The system also includes a database capable of retaining an instruction program for the computing device. The computing device includes a processor that is configured to receive data from the one or more sensors, analyze data from the one or more sensors, and execute the instruction program received from the database in order to optimize operation of the one or more energy consuming devices based on one or more criteria.

Chen, Jie↗

Towards Exascale: High Performance Visualization and Analytics – Project Status Report

The LBNL Visualization research program focuses on a key set of problems facing our community as we move towards the exascale regime of computing. First, we aim to better understand how to effectively take advantage of an evolving architectural landscape where there are an increasing number of cores per processor by examining algorithmic reformulation and alternative methods of programming these increasingly complex platforms. Second, as the gap widens between computational and I/O capacity, it is increasingly imperative to perform more visual data exploration and analysis operations concurrent with the simulation to avoid increasingly expensive I/O. Our approach is to examine several interrelated issues aimed at minimizing the memory footprint, data movement, and design/implementation issues related to deploying tools that can have broad applicability across many different simulation codes and science domains. Third, increasing computational power produces larger and more complex scientific data, and our research program focuses on new technologies aimed at enabling scientific data understanding with ever-larger data. Here, we explore how multi-resolution data representation techniques can reduce data movement, and study novel approaches that focus visualization and analysis processing on subsets of data that are “scientifically interesting,” thereby also minimizing data movement while accelerating scientific knowledge discovery.

97 MATHEMATICS AND COMPUTING↗

SU-F-T-468: Efficient Scanning Data Analysis for TomoTherapy

Purpose: The standard TomoTherapy 2D scanning system requires manual analysis using spreadsheets or similar software. Manual analysis is time consuming and does not allow efficient use of the medical physicist or timely results that may indicate issues during the acquisition of data. The purpose of this study is to determine if an in-house solution can provide timely analysis of TomoTherapy scan data. Methods: A custom MATLAB program utilizing a streamlined graphical interface was developed to interpret the native scanning data acquired by the TomoTherapy Electrometer Measurement System (TEMS). The gold beam data provided by the manufacturer was used as a baseline for the acquired data. Two separate sets of scan data were used including longitudinal, transverse, and percent depth dose (PDD). The scan data were compared visually in an overlay and analytically for each beam width using the full width half max (FWHM) for longitudinal profiles and difference inside the field core for the transverse profiles as recommended by TG-148. A plot of the PDD percent error at each point along the curve was generated to show agreement. The time to analysis was measured on a laptop running an Intel i5 processor with 8GB of RAM. Results: The software program required on average less than 5 seconds to load and analyze the results. No conversion or reformatting of the data was required. This allowed real-time visualization of the comparison to the gold beam data as well as the parameters recommended by TG-148. The average percent difference was 0.3% for the longitudinal profiles and 0.1% for the transverse profiles. All PDD data was less than 1% different beyond dmax. Conclusion: We have developed a tool to analyze TomoTherapy scan data in real-time. This allows an efficient method to perform beam commissioning, annual QA, and adjust the beam parameters if necessary.

61 RADIATION PROTECTION AND DOSIMETRY↗

PLATO (Parallel Load Assignment Tool): A Parallel Workload Partitioner for Particle-based Methods

A key first step in many large-scale high-performance scientific computing applications is the distribution of the computational domain across all participating processors of a parallel computing platform such as a shared memory machine, cluster or a tightly-coupled supercomputer. The primary goal of such a partitioning step is to ensure that the computational work performed by each process remains load-balanced throughout the execution of the parallel application. In this project, a general-purpose parallel partitioning tool, code-named PLATO, was designed and implemented. PLATO assumes that the workload is a set of points in an n-dimensional metric space. These points are abstractions of computational units that may represent point-like computational units such as celestial objects in astrophysics, atoms in materials sciences and molecules in biology/chemistry, or may represent more abstract computational units such as grid points in finite difference methods, grid elements in finite element methods or n-dimensional points in the feature space of a host of other applications. PLATO supports several key and useful capabilities, namely: (a) multiple load partitioning strategies, (b) support for arbitrary user-defined processor topology, (c) pre-fetching data from neighboring processors based on user-defined parameters, and (d) support for arbitrary number and types of attributes associated with each point in the computational domain. PLATO is implemented in the C programming language using Message Passing Interface (MPI) for inter-processor communications and its parallel performance tested on up to 48 processors of a shared memory machine. This report includes a detailed performance study of PLATO using parallel speedup and iso-efficiency as the two main metrics of parallel performance. In addition, a user manual and DOXYGEN generated code documentation have been included for completeness.

97 MATHEMATICS AND COMPUTING↗

Exploiting first-class arrays in Fortran for accelerator programming

Emerging architectures for high performance computing often are well suited to a data parallel programming model. This paper presents a simple programming methodology based on existing languages and compiler tools that allows programmers to take advantage of these systems. We will work with the array features of Fortran 90 to show how this infrequently exploited, standardized language feature is easily transformed to lower level accelerator code. Our transformations are based on a mapping from Fortran 90 to C++ code with OpenCL extensions. The sheer complexity of programming for clusters of many or multi-core processors with tens of millions threads of execution make the simplicity of the data parallel model attractive. Furthermore, the increasing complexity of todays applications (especially when convolved with the increasing complexity of the hardware) and the need for portability across hardware architectures make a higher-level and simpler programming model like data parallel attractive. The goal of this work has been to exploit source-to-source transformations that allow programmers to develop and maintain programs at a high-level of abstraction, without coding to a specific hardware architecture. Furthermore these transformations allow multiple hardware architectures to be targeted without changing the high-level source. It also removes the necessity for application programmers to understand details of the accelerator architecture or to know OpenCL.

43 PARTICLE ACCELERATORS↗