Search NASA⌕ Search

SEARCH · Search NASA

Results for “Compiler Optimizations”

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 541 records · Page 30

1996 Coolant Flow Management Workshop

The following compilation of documents includes a list of the 66 attendees, a copy of the viewgraphs presented, and a summary of the discussions held after each session at the 1996 Coolant Flow Management Workshop held at the Ohio Aerospace Institute, adjacent to the NASA Lewis Research Center, Cleveland, Ohio on December 12-13, 1996. The workshop was organized by H. Joseph Gladden and Steven A. Hippensteele of NASA Lewis Research Center. Participants in this workshop included Coolant Flow Management team members from NASA Lewis, their support service contractors, the turbine engine companies, and the universities. The participants were involved with research projects, contracts and grants relating to: (1) details of turbine internal passages, (2) computational film cooling capabilities, and (3) the effects of heat transfer on both sides. The purpose of the workshop was to assemble the team members, along with others who work in gas turbine cooling research, to discuss needed research and recommend approaches that can be incorporated into the Center's Coolant Flow Management program. The workshop was divided into three sessions: (1) Internal Coolant Passage Presentations, (2) Film Cooling Presentations, and (3) Coolant Flow Integration and Optimization. Following each session there was a group discussion period.

Steven A. Hippensteele↗

Investigation of Portable Event-Based Monte Carlo Transport Using the NVIDIA Thrust Library

Power consumption considerations are driving future high performance computing platforms toward many-core computing architectures. Los Alamos National Laboratory's Trinity machine, available in 2016, will use both Intel Xeon Haswell processors and Intel Xeon Phi Knights Landing many integrated core (MIC) architecture coprocessors. Lawrence Livermore National Laboratory's Sierra machine, available in 2018, will use an IBM PowerPC architecture along with Nvidia graphics processing unit (GPU) architecture accelerators. These different advanced architectures make the computing landscape in upcoming years complex. Traditional approaches to Monte Carlo transport do not work efficiently on these new computing platforms. MIC architectures require vectorization to operate efficiently, and vectorization is difficult to achieve in Monte Carlo transport. GPU architectures require additional code to explicitly use the hardware, requiring significant code changes or hardware specific branches in the source code. A significant challenge for Monte Carlo transport projects is to simultaneously support within a single source code base efficient simulations for both the current generation of architectures and the different advanced computing architectures. In order to address these challenges, two important changes are typically required: a new algorithmic approach for solving Monte Carlo transport, and explicit use of hardware specific software. In this paper, we describe initial research investigations of an event-based Monte Carlo transport algorithm implemented using the Nvidia Thrust library on a GPU for a Monte Carlo test code. The event-based algorithm targets many-core architectures by increasing SIMD (single instruction multiple data) parallelism, while Thrust potentially provides portable performance by allowing one source code base to compile code targeted for both CPUs and GPUs. We described preliminary investigations of portable event-based Monte Carlo algorithms implemented using the Nvidia Thrust library in a research Monte Carlo test code. We found that an explicit CUDA implementation of an event-based Monte Carlo algorithm performed significantly more efficiently than a Thrust implementation on GPU platforms, most likely as a result of additional flexibility in access to different memory spaces on the GPU. Additionally, we showed that on GPU platforms and at large enough problem sizes the event-based implementations perform more efficiently than the serial history-based implementation running on the host CPU. While investigating this problem, we also discovered that the performance of the event-based algorithm is affected by what tallies are being used. A zonal scalar flux tally requires atomic operations that significantly impacted the performance of the code, in some cases producing slowdowns instead of speedups. We decided to remove the tally in order to focus on the effectiveness of the event-based algorithm. Future work will be required to research more effective ways of handling such tallies. Additionally, we would like to consider new ways for optimizing both the Thrust and CUDA versions, in order to see how much performance we have yet to achieve. The potential trade-off between portability and performance was demonstrated in this investigation. Thrust provides both CPU and GPU versions of the code in one code base, but it does so at a cost. We discovered approximately a factor of 2-5 performance difference between Thrust and CUDA on each GPU platform we tested. Thrust provides a tool to access the GPUs with less effort and specialization, but it does so by giving up fine grained control where extra performance can be found for this application. Future work will be required to determine whether this performance differential between Thrust and CUDA can be reduced for event-based Monte Carlo transport. (authors)

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Spatial biases of information influence global estimates of soil respiration: how can we improve global predictions?

Soil respiration (Rs), the efflux of CO2 from soils to the atmosphere, is a major component of the terrestrial carbon cycle, but is poorly constrained from regional to global scales. The global soil respiration database (SRDB) is a compilation of in-situ Rs observations from around the globe that has been consistently updated with new measurements over the past decade. It is unclear whether the addition of data to new versions of the SRDB has produced better-constrained global Rs estimates. We compared two versions of the SRDB (v3.0 n=5173 and v5.0 n=10366) to determine how additional data influenced the global sum and uncertainty of Rs as predicted by a quantile regression forest model. A model parameterized using SRDBv3 yielded a global Rs sum of 88.6 Pg C yr-1, and associated uncertainty of 29.9 (mean absolute error) and 57.9 (standard deviation) Pg C yr-1, whereas parameterization using SRDBv5 yielded 96.5 Pg C yr-1 and associated uncertainty of 30.2 (mean average error) and 73.4 (standard deviation) Pg C yr-1. Empirically estimated global heterotrophic respiration (Rh) from v3 and v5 were 49.9-50.2 (mean 50.1) and 53.3-53.5 (mean 53.4) Pg C yr-1, respectively. Interestingly, SRDBv5’s inclusion of new data from underrepresented regions (e.g., Asia, Africa, South America) thus resulted in overall higher model uncertainty. The SRDBv5 is still biased towards northern latitudes and temperate zones, so we tested that an optimized global distribution of Rs measurements resulted in a global sum of 96.4 ± 21.4 Pg C yr-1 and lower model uncertainty. These results support current global estimates of Rs but highlight spatial inconsistencies that influence model parameterization and interpretation that should be addressed to improve regional- to global-scale predictions.

Stell, Emma↗

ATDM LANL FleCSI: Topology and Execution Framework

FleCSI is a compile-time configurable C++ framework designed to support multi-physics application development. As such, FleCSI attempts to provide a very general set of infrastructure design patterns that can be specialized and extended to suit the needs of a broad variety of solver and data requirements. This means that FleCSI is potentially useful to many different ECP projects. Current support includes multidimensional mesh topology, mesh geometry, and mesh adjacency information, n-dimensional hashed-tree data structures, graph partitioning interfaces, and dependency closures (to identify data dependencies between distributed-memory address spaces). FleCSI introduces a functional programming model with control, execution, and data abstractions that are consistent with state-of-the-art task-based runtimes such as Legion and Charm++. The model also provides support for fine-grained, data-parallel execution with backend support for runtimes such as OpenMP and C++17. The FleCSI abstraction layer provides the developer with insulation from the underlying runtimes, while allowing support for multiple runtime systems, including conventional models like asynchronous MPI. The intent is to give developers a concrete set of user-friendly programming tools that can be used now, while allowing flexibility in choosing runtime implementations and optimizations that can be applied to architectures and runtimes that arise in the future. This project is essential to the ECP Ristra Next-Generation Code project, part of ASC ATDM, because it provides a hierarchically parallel programming model that is consistent with the design of modern system architectures, but which allows for the straightforward expression of algorithmic parallelism in a portably performant manner.

97 MATHEMATICS AND COMPUTING↗

ISHM Anomaly Lexicon for Rocket Test

Integrated Systems Health Management (ISHM) is a comprehensive capability. An ISHM system must detect anomalies, identify causes of such anomalies, predict future anomalies, help identify consequences of anomalies for example, suggested mitigation steps. The system should also provide users with appropriate navigation tools to facilitate the flow of information into and out of the ISHM system. Central to the ability of the ISHM to detect anomalies is a clearly defined catalog of anomalies. Further, this lexicon of anomalies must be organized in ways that make it accessible to a suite of tools used to manage the data, information and knowledge (DIaK) associated with a system. In particular, it is critical to ensure that there is optimal mapping between target anomalies and the algorithms associated with their detection. During the early development of our ISHM architecture and approach, it became clear that a lexicon of anomalies would be important to the development of critical anomaly detection algorithms. In our work in the rocket engine test environment at John C. Stennis Space Center, we have access to a repository of discrepancy reports (DRs) that are generated in response to squawks identified during post-test data analysis. The DR is the tool used to document anomalies and the methods used to resolve the issue. These DRs have been generated for many different tests and for all test stands. The result is that they represent a comprehensive summary of the anomalies associated with rocket engine testing. Fig. 1 illustrates some of the data that can be extracted from a DR. Such information includes affected transducer channels, narrative description of the observed anomaly, and the steps used to correct the problem. The primary goal of the anomaly lexicon development efforts we have undertaken is to create a lexicon that could be used in support of an associated health assessment database system (HADS) co-development effort. There are a number of significant byproducts of the anomaly lexicon compilation effort. For example, (1) Allows determination of the frequency distribution of anomalies to help identify those with the potential for high return on investment if included in automated detection as part of an ISHM system, (2) Availability of a regular lexicon could provide the base anomaly name choices to help maintain consistency in the DR collection process, and (3) Although developed for the rocket engine test environment, most of the anomalies are not specific to rocket testing, and thus can be reused in other applications.

Schmalzel, John L.↗

High-Throughput Combinatorial Development of High-Entropy Alloys For Light-Weight Structural Applications

The primary limitation of today’s lightweight structural alloys is that specific yield strengths (SYS) higher than 200MPa x cc/g (typical value for titanium alloys) are extremely difficult to achieve. This holds true especially at a cost lower than 5dollars/kg (typical value for magnesium alloys). Recently, high-entropy alloys (HEA) have shown promising SYS, yet the large composition space of HEA makes screening compositions complex and time-consuming. Over the course of this 2-year project we started from 150 billion compositions and reduced the number of potential low-density (<5g/cc), low-cost (<5dollars/kg) high-entropy alloy (LDHEA) candidates that are single-phase, disordered, solid-solution (SPSS) to a few thousand compositions. This was accomplished by means of machine learning to guide design for SPSS LDHEA based on a combination of recursive partitioning, an extensive, experimental HEA database compiled from 24 literature sources, and 91 calculated parameters serving as phenomenological selection rules. Machine learning shows an accuracy of 82% in identifying which compositions of a separate, smaller, experimental HEA database are SPSS HEA. Calculation of Phase Diagrams (CALPHAD) shows an accuracy of 71-77% for the alloys supported by the CALPHAD database, where 30% of the compiled HEA database is not supported by CALPHAD. In addition to machine learning, and CALPHAD, a third tool was developed to aid design of SPSS LDHEA. Phase diagrams were calculated by constructing the Gibbs-free energy convex hull based on easily accessible enthalpy and entropy terms. Surprisingly, accuracy was 78%. Pursuing these LDHEA candidates by high-throughput experimental methods resulted in SPSS LDHEA composed of transition metals (e.g. Cr, Mn, Fe, Ni, Cu) alloyed with Al, yet the high concentration of Al, necessary to bring the mass density below 5.0g/cc, makes these materials hard and brittle, body-centered-cubic (BCC) alloys. A related, yet multi-phase BCC alloy, based on Al-Cr-Fe-Ni, shows compressive strain >10% and specific compressive yield strength of 229 MPa x cc/g, yet does not show ductility in tensile tests due to cleavage. When replacing Cr in Al-Cr-Fe-based 4- and 5-element LDHEA with Mn, hardness drops 2x. Combined with compression test results, including those on the ternaries Al-Cr-Fe and Al-Mn-Fe suggest that Al-Mn-Fe-based LDHEA are still worth pursuing. These initial results only represent one compressive stress-strain curve per composition without any property optimization. As such, reproducibility needs to be followed by optimization to show their full potential. When including Li, Mg, and Zn, single-phase Li-Mg-Al-Ti-Zn LDHEA has been found with a specific ultimate compressive strength of 289MPa x cc/g. Al-Ti-Mn-Zn showed a specific ultimate compressive strength of 73MPa x cc/g. These initial results after hot isostatic pressing (HIP) of the ball-milled powders represent the lower end of what is possible, since no secondary processing (e.g. extrusion) has been performed to optimize strength and ductility. Compositions for multi-phase (e.g. dual-phase) LDHEA were identified largely by automated searches through CALPHAD databases, while screening for large face-centered-cubic (FCC) volume fractions, followed by experimental verification. This resulted in several new alloys. Li-Mg-Al-Mn-Fe and Mg-Mn-Fe-Co ball-milled powders upon HIP show specific ultimate compressive strengths of 198MPa x cc/g and 45MPa x cc/g, respectively. Several malleable quarternary Al-Zn-based alloys have been found upon arc/induction melting, yet with limited specific compressive yield strength (<75 MPa x cc/g). These initial results are all without any optimization for strength and/or ductility. High-throughput experimentation allowed us to triple the existing experimental HEA database as published in the past 10 years in less than 2 years which happened at a rate 10x higher than previous methods. Furthermore, we showed that high-throughput thin-film combinatorial methods can be used to get insight in isothermal phase diagram slices. Although it is straightforward to map hardness as a function of composition for sputtered, thin-film, compositional gradients by nano-indentation and compare the results to micro-indentation on bulk samples, the simultaneous impact of composition, roughness, film density, and microstructure on hardness requires monitoring all these properties as a function of location on the compositional gradient, including dissecting the impact of these 4 factors on the hardness map. These additional efforts impact throughput significantly. This work shows that a lot of progress has been made over the years in predicting phase formation that aids the discovery of new alloys, yet that a lot of work needs to be done to predict phases more accurately for LDHEA, whether done by CALPHAD or by other means. More importantly, more work needs to be done to predict mechanical properties of novel alloys, like yield strength, and ductility. Furthermore, this work shows that there is a need for the generation of an empirical alloy database covering strategic points in a multi-dimensional composition space to allow for faster and more accurate predictive interpolations to identify the oasis in the dessert more quickly. Finally, this work suggests that it is worth pursuing a ductile alloy with a SYS > 300 MPa x cc/g in a mass density range of 6-7 g/cc, since the chances for a single-phase or majority-phase FCC increase significantly. Today’s lightweight steels are in this density range.

36 MATERIALS SCIENCE↗

Integrated Task And Data Parallel Programming: Language Design

his research investigates the combination of task and data parallel language constructs within a single programming language. There are an number of applications that exhibit properties which would be well served by such an integrated language. Examples include global climate models, aircraft design problems, and multidisciplinary design optimization problems. Our approach incorporates data parallel language constructs into an existing, object oriented, task parallel language. The language will support creation and manipulation of parallel classes and objects of both types (task parallel and data parallel). Ultimately, the language will allow data parallel and task parallel classes to be used either as building blocks or managers of parallel objects of either type, thus allowing the development of single and multi-paradigm parallel applications. 1995 Research Accomplishments In February I presented a paper at Frontiers '95 describing the design of the data parallel language subset. During the spring I wrote and defended my dissertation proposal. Since that time I have developed a runtime model for the language subset. I have begun implementing the model and hand-coding simple examples which demonstrate the language subset. I have identified an astrophysical fluid flow application which will validate the data parallel language subset. 1996 Research Agenda Milestones for the coming year include implementing a significant portion of the data parallel language subset over the Legion system. Using simple hand-coded methods, I plan to demonstrate (1) concurrent task and data parallel objects and (2) task parallel objects managing both task and data parallel objects. My next steps will focus on constructing a compiler and implementing the fluid flow application with the language. Concurrently, I will conduct a search for a real-world application exhibiting both task and data parallelism within the same program m. Additional 1995 Activities During the fall I collaborated with Andrew Grimshaw and Adam Ferrari to write a book chapter which will be included in Parallel Processing in C++ edited by Gregory Wilson. I also finished two courses, Compilers and Advanced Compilers, in 1995. These courses complete my class requirements at the University of Virginia. I have only my dissertation research and defense to complete.

Grimshaw, Andrew S.↗

Integrated Task and Data Parallel Programming

This research investigates the combination of task and data parallel language constructs within a single programming language. There are an number of applications that exhibit properties which would be well served by such an integrated language. Examples include global climate models, aircraft design problems, and multidisciplinary design optimization problems. Our approach incorporates data parallel language constructs into an existing, object oriented, task parallel language. The language will support creation and manipulation of parallel classes and objects of both types (task parallel and data parallel). Ultimately, the language will allow data parallel and task parallel classes to be used either as building blocks or managers of parallel objects of either type, thus allowing the development of single and multi-paradigm parallel applications. 1995 Research Accomplishments In February I presented a paper at Frontiers 1995 describing the design of the data parallel language subset. During the spring I wrote and defended my dissertation proposal. Since that time I have developed a runtime model for the language subset. I have begun implementing the model and hand-coding simple examples which demonstrate the language subset. I have identified an astrophysical fluid flow application which will validate the data parallel language subset. 1996 Research Agenda Milestones for the coming year include implementing a significant portion of the data parallel language subset over the Legion system. Using simple hand-coded methods, I plan to demonstrate (1) concurrent task and data parallel objects and (2) task parallel objects managing both task and data parallel objects. My next steps will focus on constructing a compiler and implementing the fluid flow application with the language. Concurrently, I will conduct a search for a real-world application exhibiting both task and data parallelism within the same program. Additional 1995 Activities During the fall I collaborated with Andrew Grimshaw and Adam Ferrari to write a book chapter which will be included in Parallel Processing in C++ edited by Gregory Wilson. I also finished two courses, Compilers and Advanced Compilers, in 1995. These courses complete my class requirements at the University of Virginia. I have only my dissertation research and defense to complete.

Grimshaw, A. S.↗

DLES Unreal Simulation Tool (DUST)

NASA’s future Artemis missions to the Moon seek to explore areas around the Lunar South Pole. Though humans have previously set foot on the lunar surface, the proposed region provides unique and challenging environments that require insight and investigation prior to arrival. Several teams throughout the agency are performing this site and mission planning, design, and analysis to support areas like the Human Landing System (HLS), surface mobility, habitation elements, and scientific exploration. The NASA Exploration Systems Simulation (NExSyS) team at Johnson Space Center is developing a graphical environment of the Lunar South Pole region. Lunar terrain information collected from the Lunar Reconnaissance Orbiter (LRO) is compiled and made available through Johnson Space Center’s Digital Lunar Exploration Sites (DLES) data sets. The DLES data is used to build this graphic environment. The process of ingesting and accurately modeling this information in a meaningful way for analysis creates its own challenges such as generating a performant model from the source data and the application of curvature. Additionally, the area around the Lunar South Pole experiences different lighting conditions than those observed from the Apollo missions. The need to use the lunar environmental data products provided by DLES combined with the capability to calculate date specific ephemerides in real-time has given rise to the development of the DLES Unreal Simulation Tool (DUST). DUST incorporates augmented terrain from the DLES product into a desktop application that allows exploration of the Lunar South Pole region and its complex lighting conditions. DUST leverages advanced capabilities in the recently released Unreal Engine 5 renderer by Epic Games such as double precision for positioning of planetary bodies and surface elements, multiple infinite light sources to represent the Sun and eventually Earthshine, high resolution shadow maps for dynamic shadow accuracy, real-time software ray-tracing for multi-surface bounce lighting to render sunlight reflected off surface elements and terrain features, and performance optimized level of detail shifting as the eyepoint changes in a scene. This paper details the DUST application, the technologies of the engine platform that enable scientific and engineering analysis, the unique techniques and processes developed to consume the DLES data sets, and how the tool is being used to support the Artemis program.

Lunar Visualization↗

Trajectory Optimization: OTIS 4

The latest release of the Optimal Trajectories by Implicit Simulation (OTIS4) allows users to simulate and optimize aerospace vehicle trajectories. With OTIS4, one can seamlessly generate optimal trajectories and parametric vehicle designs simultaneously. New features also allow OTIS4 to solve non-aerospace continuous time optimal control problems. The inputs and outputs of OTIS4 have been updated extensively from previous versions. Inputs now make use of objectoriented constructs, including one called a metastring. Metastrings use a greatly improved calculator and common nomenclature to reduce the user s workload. They allow for more flexibility in specifying vehicle physical models, boundary conditions, and path constraints. The OTIS4 calculator supports common mathematical functions, Boolean operations, and conditional statements. This allows users to define their own variables for use as outputs, constraints, or objective functions. The user-defined outputs can directly interface with other programs, such as spreadsheets, plotting packages, and visualization programs. Internally, OTIS4 has more explicit and implicit integration procedures, including high-order collocation methods, the pseudo-spectral method, and several variations of multiple shooting. Users may switch easily between the various methods. Several unique numerical techniques such as automated variable scaling and implicit integration grid refinement, support the integration methods. OTIS4 is also significantly more user friendly than previous versions. The installation process is nearly identical on various platforms, including Microsoft Windows, Apple OS X, and Linux operating systems. Cross-platform scripts also help make the execution of OTIS and post-processing of data easier. OTIS4 is supplied free by NASA and is subject to ITAR (International Traffic in Arms Regulations) restrictions. Users must have a Fortran compiler, and a Python interpreter is highly recommended.

Riehl, John P.↗

Short-Depth QAOA circuits and Quantum Annealing on Higher-Order Ising Models (Rev.2)

The Quantum Alternating Operator Ansatz (QAOA) and Quantum Annealing (QA) are quantum algorithms that are both based on the adiabatic theorem and both have the goal of sampling the optimal solution(s) of combinatorial optimization problems. Quantum annealing has been physically instantiated on D-Wave devices using superconducting flux qubits, and QAOA can be programmed on digital gate-model quantum computers such as the programmable superconducting transmon qubits devices of the IBMQ series, for instance ibm washington. QAOA and QA address the same types of problems, but it is unclear how they will scale to large problem sizes and to larger and higher-fidelity quantum computers. In this article, we present a direct comparison between QAOA, one and two rounds, run on all 127 qubits of ibm washington and QA run on D-Wave Advantage system4.1 and Advantage system6.1. The problems which allow for this comparison are random Ising model problems whose connectivity matches the heavy hexagonal lattice topology of ibm washington and the Pegasus graph connectivity of the two D-Wave devices. We create two classes of problem instances for this comparison: one with higher order terms (ZZZ variable interactions), linear terms, and quadratic terms, and a separate problem type with only linear and quadratic terms. Our QAOA circuits are novel and extremely short depth, with a CNOT depth of 6 per round, which allows whole chip usage of ibm washington’s heavy hexagonal lattice and can be applied to future heavy-hex chips. We also test the effectiveness of the error suppression technique digital dynamical decoupling on the QAOA circuits. The QAOA circuits compiled to ibm washington are composed of several thousand circuit instructions, approximately 3, 000 depending on the details of the circuit, making these some the largest quantum circuits ever executed on a digital quantum processor. QAOA and QA are compared against the classical heuristic algorithm of simulated annealing and all problem instances are exactly solved using CPLEX in order to evaluate which samplers, if any, correctly found the ground state solution(s) of the problem instances. We find that (i) QA outperforms QAOA on all problem instances, (ii) QAOA samples the problems better than random sampling, and (iii) QAOA angle computation exhibits clear parameter concentration across the ensemble of Ising models.

127 Qubits↗

Data for Determining Spatially Varying Profit-Maximizing Management Practices for Miscanthus and Switchgrass Production in the Rainfed United States

The compiled datasets include county-level variables used for simulating miscanthus and switchgrass production in 2287 counties across the rainfed US including 5-year (2012-2016) averaged growing season degree days (GDD), 5-year (2012-2016) averaged growing season cumulative precipitation, National Commodity Crop Productivity Index (NCCPI) values, regional dummies (only for miscanthus), the regional-level random effect of the yield response function, N price, land cash rent, the first year fixed cost (only for switchgrass), and separate datasets for simulating an alternative model assuming a constant N rate. The GAMS codes are used to run the simulation to obtain the main results including the age-varying profit-maximizing N rate, biomass yields, and annual profits for miscanthus and switchgrass production across counties in the rainfed US. The STATA codes are used to merge and analyze simulation results and create summary statistics tables and key figures.

Age↗

Performance and Architecture Lab Modeling Tool

Analytical application performance models are critical for diagnosing performance-limiting resources, optimizing systems, and designing machines. Creating models, however, is difficult. Furthermore, models are frequently expressed in forms that are hard to distribute and validate. The Performance and Architecture Lab Modeling tool, or Palm, is a modeling tool designed to make application modeling easier. Palm provides a source code modeling annotation language. Not only does the modeling language divide the modeling task into sub problems, it formally links an application's source code with its model. This link is important because a model's purpose is to capture application behavior. Furthermore, this link makes it possible to define rules for generating models according to source code organization. Palm generates hierarchical models according to well-defined rules. Given an application, a set of annotations, and a representative execution environment, Palm will generate the same model. A generated model is a an executable program whose constituent parts directly correspond to the modeled application. Palm generates models by combining top-down (human-provided) semantic insight with bottom-up static and dynamic analysis. A model's hierarchy is defined by static and dynamic source code structure. Because Palm coordinates models and source code, Palm's models are 'first-class' and reproducible. Palm automates common modeling tasks. For instance, Palm incorporates measurements to focus attention, represent constant behavior, and validate models. Palm's workflow is as follows. The workflow's input is source code annotated with Palm modeling annotations. The most important annotation models an instance of a block of code. Given annotated source code, the Palm Compiler produces executables and the Palm Monitor collects a representative performance profile. The Palm Generator synthesizes a model based on the static and dynamic mapping of annotations to program behavior. The model -- an executable program -- is a hierarchical composition of annotation functions, synthesized functions, statistics for runtime values, and performance measurements.

Tallent, Nathan↗

Incremental Parallelization of Non-Data-Parallel Programs Using the Charon Message-Passing Library

Message passing is among the most popular techniques for parallelizing scientific programs on distributed-memory architectures. The reasons for its success are wide availability (MPI), efficiency, and full tuning control provided to the programmer. A major drawback, however, is that incremental parallelization, as offered by compiler directives, is not generally possible, because all data structures have to be changed throughout the program simultaneously. Charon remedies this situation through mappings between distributed and non-distributed data. It allows breaking up the parallelization into small steps, guaranteeing correctness at every stage. Several tools are available to help convert legacy codes into high-performance message-passing programs. They usually target data-parallel applications, whose loops carrying most of the work can be distributed among all processors without much dependency analysis. Others do a full dependency analysis and then convert the code virtually automatically. Even more toolkits are available that aid construction from scratch of message passing programs. None, however, allows piecemeal translation of codes with complex data dependencies (i.e. non-data-parallel programs) into message passing codes. The Charon library (available in both C and Fortran) provides incremental parallelization capabilities by linking legacy code arrays with distributed arrays. During the conversion process, non-distributed and distributed arrays exist side by side, and simple mapping functions allow the programmer to switch between the two in any location in the program. Charon also provides wrapper functions that leave the structure of the legacy code intact, but that allow execution on truly distributed data. Finally, the library provides a rich set of communication functions that support virtually all patterns of remote data demands in realistic structured grid scientific programs, including transposition, nearest-neighbor communication, pipelining, gather/scatter, and redistribution. At the end of the conversion process most intermediate Charon function calls will have been removed, the non-distributed arrays will have been deleted, and virtually the only remaining Charon functions calls are the high-level, highly optimized communications. Distribution of the data is under complete control of the programmer, although a wide range of useful distributions is easily available through predefined functions. A crucial aspect of the library is that it does not allocate space for distributed arrays, but accepts programmer-specified memory. This has two major consequences. First, codes parallelized using Charon do not suffer from encapsulation; user data is always directly accessible. This provides high efficiency, and also retains the possibility of using message passing directly for highly irregular communications. Second, non-distributed arrays can be interpreted as (trivial) distributions in the Charon sense, which allows them to be mapped to truly distributed arrays, and vice versa. This is the mechanism that enables incremental parallelization. In this paper we provide a brief introduction of the library and then focus on the actual steps in the parallelization process, using some representative examples from, among others, the NAS Parallel Benchmarks. We show how a complicated two-dimensional pipeline-the prototypical non-data-parallel algorithm- can be constructed with ease. To demonstrate the flexibility of the library, we give examples of the stepwise, efficient parallel implementation of nonlocal boundary conditions common in aircraft simulations, as well as the construction of the sequence of grids required for multigrid.

VanderWijngaart, Rob F.↗

SAMZ: Satellite-Derived Management Zones

The term "satellite-derived management zones" (SAMZ) denotes agricultural management zones that are subdivisions of large fields and that are derived from images of the fields acquired by instruments aboard Earth orbiting satellites during approximately the past 15 years. "SAMZ" also denotes the methodology and the software that implements the methodology for creating such zones. The SAMZ approach is one of several products of continuing efforts to realize a concept of precision agriculture, which involves optimal variations in seeding, in application of chemicals, and in irrigation, plus decisions to farm or not to farm certain portions of fields, all in an effort to maximize profitability in view of spatial and temporal variations in the growth and health of crops and in the chemical and physical conditions of soils. As used here, "management zone" signifies, more precisely, a subdivision of a field within which the crop production behavior is regarded as homogeneous. From the perspective of precision agriculture, management zones are the smallest subdivisions between which the seeding, application of chemicals, and other management parameters are to be varied. In the SAMZ approach, the main sources of data are the archives of satellite imagery that have been collected over the years for diverse purposes. One of the main advantages afforded by the SAMZ approach is that the data in these archives can be reused for purposes of precision agriculture at low cost. De facto, these archives contain information on all sources of variability within a field, including weather, crop types, crop management, soil types, and water drainage patterns. The SAMZ methodology involves the establishment of a Web-based interface based on an algorithm that generates management zones automatically and quickly from archival satellite image data in response to requests from farmers. A farmer can make a request by either uploading data describing a field boundary to the Web site or else drawing the boundary on a reference image. Hence, a farmer can start to engage in precision farming shortly after gaining access to the Web site, without need for incurring the high costs of conventional precision-agriculture data-collection practices that include collecting soil samples, mapping electrical conductivity of soil, and compiling multi-year crop-yield data. Given the boundary of a field, a SAMZ server computes the zones within the field in a three-stage process. In the first stage, a vector-valued image of the field is constructed by assembling, from the archives, the equivalent of a stack of the available images of the field (see figure). In the second stage, the vector-valued image is analyzed by use of a wavelet transform that detects spatial variations considered significant for precision farming while suppressing small-scale heterogeneities that are regarded as insignificant. In the third stage, a segmentation algorithm assembles the zones from smaller regions that have been identified in the wavelet analysis.

Source record↗

Satellite-Derived Management Zones

The term "satellite-derived management zones" (SAMZ) denotes agricultural management zones that are subdivisions of large fields and that are derived from images of the fields acquired by instruments aboard Earth-orbiting satellites during approximately the past 15 years. "SAMZ" also denotes the methodology and the software that implements the methodology for creating such zones. The SAMZ approach is one of several products of continuing efforts to realize a concept of precision agriculture, which involves optimal variations in seeding, in application of chemicals, and in irrigation, plus decisions to farm or not to farm certain portions of fields, all in an effort to maximize profitability in view of spatial and temporal variations in the growth and health of crops, and in the chemical and physical conditions of soils. As used here, "management zone" signifies, more precisely, a subdivision of a field within which the crop-production behavior is regarded as homogeneous. From the perspective of precision agriculture, management zones are the smallest subdivisions between which the seeding, application of chemicals, and other management parameters are to be varied. In the SAMZ approach, the main sources of data are the archives of satellite imagery that have been collected over the years for diverse purposes. One of the main advantages afforded by the SAMZ approach is that the data in these archives can be reused for purposes of precision agriculture at low cost. De facto, these archives contain information on all sources of variability within a field, including weather, crop types, crop management, soil types, and water drainage patterns. The SAMZ methodology involves the establishment of a Web-based interface based on an algorithm that generates management zones automatically and quickly from archival satellite image data in response to requests from farmers. A farmer can make a request by either uploading data describing a field boundary to the Web site or else drawing the boundary on a reference image. Hence, a farmer can start to engage in precision farming shortly after gaining access to the Web site, without the need for incurring the high costs of conventional precision-agriculture data-collection practices that include collecting soil samples, mapping electrical conductivity of soil, and compiling multiyear crop-yield data. Given the boundary of a field, a SAMZ server computes the zones within the field in a three-stage process. In the first stage, a vector-valued image of the field is constructed by assembling, from the archives, the equivalent of a stack of the available images of the field (see figure). In the second stage, the vector-valued image is analyzed by use of a wavelet transform that detects spatial variations considered significant for precision farming while suppressing small-scale heterogeneities that are regarded as insignificant. In the third stage, a segmentation algorithm assembles the zones from smaller regions that have been identified in the wavelet analysis.

Lepoutre, Damien↗

Studies in the Fields of Space Flight and Guidance Theory: Progress Report - No. 2

Compiled in this paper are 11 progress papers from 7 of the agencies working under contract to MSFC in the areas of guidance theory and space flight theory. This is the second paper of the "Progress Reports" and covers the period from December 1, 1961 to June 15, 1962. Extensive references are made to "Progress Report No. 1." This second progress report is referred to as "report" and "Progress Report No. 1" will be referred to as the "first report" in this introduction. Information given in the first report is not repeated herein. The reports of the various contractors will be referred to by index number as papers. There are two parallel series of publications covering the over-all activities at MSFC in the areas of guidance theory and space flight theory. One is the series of progress reports of which this paper is the second in the series. The other is the series of "Status Reports on Theory of Space Flight and Adaptive Guidance." These series along with a few other special reports, give a complete picture of the immediate objectives, accomplishments, and final goals of Aeroballistics Division and associated contr

FLIGHT OPTIMIZATION↗

Integrated Medical Model Verification, Validation, and Credibility

The Integrated Medical Model (IMM) was designed to forecast relative changes for a specified set of crew health and mission success risk metrics by using a probabilistic (stochastic process) model based on historical data, cohort data, and subject matter expert opinion. A probabilistic approach is taken since exact (deterministic) results would not appropriately reflect the uncertainty in the IMM inputs. Once the IMM was conceptualized, a plan was needed to rigorously assess input information, framework and code, and output results of the IMM, and ensure that end user requests and requirements were considered during all stages of model development and implementation. METHODS: In 2008, the IMM team developed a comprehensive verification and validation (VV) plan, which specified internal and external review criteria encompassing 1) verification of data and IMM structure to ensure proper implementation of the IMM, 2) several validation techniques to confirm that the simulation capability of the IMM appropriately represents occurrences and consequences of medical conditions during space missions, and 3) credibility processes to develop user confidence in the information derived from the IMM. When the NASA-STD-7009 (7009) was published, the IMM team updated their verification, validation, and credibility (VVC) project plan to meet 7009 requirements and include 7009 tools in reporting VVC status of the IMM. RESULTS: IMM VVC updates are compiled recurrently and include 7009 Compliance and Credibility matrices, IMM VV Plan status, and a synopsis of any changes or updates to the IMM during the reporting period. Reporting tools have evolved over the lifetime of the IMM project to better communicate VVC status. This has included refining original 7009 methodology with augmentation from the NASA-STD-7009 Guidance Document. End user requests and requirements are being satisfied as evidenced by ISS Program acceptance of IMM risk forecasts, transition to an operational model and simulation tool, and completion of service requests from a broad end user consortium including Operations, Science and Technology Planning, and Exploration Planning. CONCLUSIONS: The VVC approach established by the IMM project of combining the IMM VV Plan with 7009 requirements is comprehensive and includes the involvement of end users at every stage in IMM evolution. Methods and techniques used to quantify the VVC status of the IMM have not only received approval from the local NASA community but have also garnered recognition by other federal agencies seeking to develop similar guidelines in the medical modeling community.

Validation↗