Search NASA⌕ Search

SEARCH · Search NASA

Results for “Compiler”

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 1,225 records · Page 68

The Role of Reformulation in the Automatic Design of Satisfiability Procedures

Recently there has been increasing interest in the problem of knowledge compilation (Selman & Kautz91). This is the problem of identifying tractable techniques for determining the consequences of a knowledge base. We have developed and implemented a technique, called DRAT, that given a theory, i.e., a collection of firstorder clauses, can often produce a type of decision procedure for that theory that can be used in the place of a general-purpose first-order theorem prover for determining many of the consequences of that theory. Hence, DRAT does a type of knowledge compilation. Central to the DRAT technique is a type of reformulation in which a problem's clauses are restated in terms of different nonlogical symbols. The reformulation is isomorphic in the sense that it does not change the semantics of a problem.

VanBaalen, Jeffrey↗

Outgassing Data for Selecting Spacecraft Materials

Outgassing data, derived from tests at 398 K (125 C) for 24 hours in a vacuum as per ASTM E 595-84, have been compiled for numerous materials for spacecraft use. The data presented are the total mass loss (TML) and the collected volatile condensable materials (CVCM). The various materials are compiled by likely usage and alphabetically.

Walter, Neil A.↗

Development of the Tensoral Computer Language

The research scientist or engineer wishing to perform large scale simulations or to extract useful information from existing databases is required to have expertise in the details of the particular database, the numerical methods and the computer architecture to be used. This poses a significant practical barrier to the use of simulation data. The goal of this research was to develop a high-level computer language called Tensoral, designed to remove this barrier. The Tensoral language provides a framework in which efficient generic data manipulations can be easily coded and implemented. First of all, Tensoral is general. The fundamental objects in Tensoral represent tensor fields and the operators that act on them. The numerical implementation of these tensors and operators is completely and flexibly programmable. New mathematical constructs and operators can be easily added to the Tensoral system. Tensoral is compatible with existing languages. Tensoral tensor operations co-exist in a natural way with a host language, which may be any sufficiently powerful computer language such as Fortran, C, or Vectoral. Tensoral is very-high-level. Tensor operations in Tensoral typically act on entire databases (i.e., arrays) at one time and may, therefore, correspond to many lines of code in a conventional language. Tensoral is efficient. Tensoral is a compiled language. Database manipulations are simplified optimized and scheduled by the compiler eventually resulting in efficient machine code to implement them.

Ferziger, Joel↗

Interfacing with Legacy using Remote Method Invocation

The assignment described was enough to make a neophyte Java developer bolt for the door: provide a remote method for use by an applet which invokes a native method that wraps a function in an existing legacy library. The purpose of the remote method is to return an instance of a class object whose contents reflect the data structure returned by the legacy function. While embroiled in implementation, I would have spent the time wading through their JNI use group archive as well, but I couldn't seem to locate one. Subsequently, I made the decision to try to document my findings in order to assist others. Before we start on the class design, let's look at what the existing legacy code does. The C function to be called, Get-Legacy-Data, consists of two steps: an ASII file is read from the local disk and its contents are parsed into a Legacy_Type structure whose address is passed as an argument by the caller. The legacy code was compiled into a shared object library, legacy. so, using the IRIX 6.2 compiler and then loaded onto the Web server, a Silicon Graphics Indy station loaded with the IRIX 6.4 operating system. As far as the class design is concerned, the first thing required is a class to act as a template for the data structure returned by the legacy function. This class, JLegacy, declares a series of public instance variables which correspond to the members of Legacy_Type and provides a parameterless constructor. This constructor is never called, not even by the native method which allocates the object for return to the remote method. Next, the remote interface declaration for the remote object must be defined. In order for JLegacyRO to implement getJLegacy, JLegacyRO must interface with the existing legacy code through a native method, getn. getn is declared in the JLegacyRO class but implemented in C, just like the legacy code. getn returns a JLegacy instance and is declared static since its implementation is the same for all instances of the JLegacyRO class.

Howard, Scott M.↗

Analysis of Gamma-Ray Data from Solar Flares in Cycles 21 and 22

One of our primary accomplishments under grant NAGW-35381 was the systematic derivation and compilation, for the first time, of physical parameters for all gamma-ray flares detected by the SMM GRS during its ten year lifetime. The flare parameters derived from the gamma-ray spectra include: bremsstrahlung fluence and best-fit power-law parameters, narrow nuclear line fluence, positron annihilation line fluence, neutron capture line fluence, and an indication of whether or not greater than 10 MeV emissions were present. We combined this compilation of flare parameters with our plots of counting rate time histories and flare spectra to construct an atlas of gamma-ray flare characteristics. The atlas time histories display four energy bands: 56-199 kev, 298526 keV, 4-8 MeV, and 10-25 MeV. These energy bands respectively measure nonrelativistic bremsstrahlung, trans-relativistic bremsstrahlung, nuclear de-excitation, and ultra-relativistic bremsstrahlung. The atlas spectra show the integrated high-energy spectra measured for all GRS flares and dissects them into electron bremsstrahlung, positron annihilation and nuclear emission components. The atlas has been accepted for publication in the Astrophysical Journal Supplements and is currently in press. The atlas materials were also supplied to the Solar Data Analysis Center at Goddard Space Flight Center and were made available through a web site at the University of New Hampshire. Since a uniform methodology was adopted for deriving the flare parameters, this atlas will be very useful for future statistical and correlative studies of solar flares-three independent groups are presently using it to correlate interplanetary energetic particle measurements with our gamma-ray measurements. A better model for the response of the GRS instrument to high energy radiation was also developed. A refined response model was needed because the old model was not adequate for predicting the first and second escape peaks associated with strong nuclear lines nor could it accurately describe the Compton continuum shape. The new response was developed using a GEANT based simulation code and tested against preflight calibration data. The refinement of the response model and the removal of systematic errors now allow more detailed spectral studies of the GRS gamma-ray measurements. This refined response function was supplied to the Solar DAC at Goddard and was also made available via a web site at the University of New Hampshire.

Vestrand, W. Thomas↗

Enhancement to Hitran to Support the NASA EOS Program

The HITRAN molecular database has been enhanced with the object of providing improved capabilities for the EOS program scientists. HITRAN itself is the database of high-resolution line parameters of gaseous species expected to be observed by the EOS program in its remote sensing activities. The database is part of a larger compilation that includes IR cross-sections, aerosol indices of refraction, and software for filtering and plotting portions of the database. These properties have also been improved. The software has been advanced in order to work on multiple platforms. Besides the delivery of the compilation on CD-ROM, the effort has been directed toward making timely access of data and software on the world wide web.

Kirby, Kate P.↗

The Tera Multithreaded Architecture and Unstructured Meshes

The Tera Multithreaded Architecture (MTA) is a new parallel supercomputer currently being installed at San Diego Supercomputing Center (SDSC). This machine has an architecture quite different from contemporary parallel machines. The computational processor is a custom design and the machine uses hardware to support very fine grained multithreading. The main memory is shared, hardware randomized and flat. These features make the machine highly suited to the execution of unstructured mesh problems, which are difficult to parallelize on other architectures. We report the results of a study carried out during July-August 1998 to evaluate the execution of EUL3D, a code that solves the Euler equations on an unstructured mesh, on the 2 processor Tera MTA at SDSC. Our investigation shows that parallelization of an unstructured code is extremely easy on the Tera. We were able to get an existing parallel code (designed for a shared memory machine), running on the Tera by changing only the compiler directives. Furthermore, a serial version of this code was compiled to run in parallel on the Tera by judicious use of directives to invoke the "full/empty" tag bits of the machine to obtain synchronization. This version achieves 212 and 406 Mflop/s on one and two processors respectively, and requires no attention to partitioning or placement of data issues that would be of paramount importance in other parallel architectures.

Bokhari, Shahid H.↗

Aerodynamic Shape Optimization Using A Combined Distributed/Shared Memory Paradigm

Current parallel computational approaches involve distributed and shared memory paradigms. In the distributed memory paradigm, each processor has its own independent memory. Message passing typically uses a function library such as MPI or PVM. In the shared memory paradigm, such as that used on the SGI Origin 2000 machine, compiler directives are used to instruct the compiler to schedule multiple threads to perform calculations. In this paradigm, it must be assured that processors (threads) do not simultaneously access regions of memory in such away that errors would occur. This paper utilizes the latest version of the SGI MPI function library to combine the two parallelization paradigms to perform aerodynamic shape optimization of a generic wing/body.

Cheung, Samson↗

A Digital Tectonic Activity Map of the Earth

The subject of neotectonics, covering the structures and structural activity of the last 5 million years (i.e., post-Miocene) is a well-recognized field, including "active tectonics," focussed on the last 500,000 years in a 1986 National Research Council report of that title. However, there is a cartographic gap between tectonic maps, generally showing all features regardless of age, and maps of current seismic or volcanic activity. We have compiled a map intended to bridge this gap, using modern data bases and computer-aided cartographic techniques. The maps presented here are conceptually descended from an earlier map showing tectonic and volcanic activity of the last one million years. Drawn by hand with the National Geographic Society's 1975 "The Physical World" map as a base, the 1981 map in various revisions has been widely reproduced in textbooks and various technical publications. However, two decades of progress call for a completely new map that can take advantage of new knowledge and cartographic techniques. The digital tectonic activity map (DTM), presented in shaded relief (Fig. 1) and schematic (Fig. 2) versions, is the result. The DTM is intended to show tectonism and volcanism of the last one million years, a period long enough to be representative of global activity, but short enough that features such as fault scarps and volcanos are still geomorphically recognizable. Data Sources and Cartographic Methods The DTM is based on a wide range of sources, summarized in Table 1. The most important is the digital elevation model, used to construct a shaded relief map. The bathymetry is largely from satellite altimetry, specifically the marine gravity compilations by Smith and Sandwell (1996). The shaded relief map was designed to match the new National Geographic Society world physical map (1992), although drawn independently, from the digital elevation model. The Robinson Projection is used instead of the earlier Van der Grinten one. Although neither conformal nor equal-area, the Robinson Projection provides a reasonable compromise and retains useful detail at high latitudes.

Lowman, Paul↗

Application of the Shuttle Laser Altimeter in an Accuracy Assessment of Global 1-Kilometer Digital Elevation Data

Shuttle Laser Altimeter (SLA) data have been used to evaluate the accuracy of GTOPO30, the first comprehensive, 1 km resolution, global topographic data set. GTOPO30 was developed by the USGS Eros Data Center (EDC), in part, to address NASA's needs for a global topographic model in support of remote sensing instruments aboard the Earth Observing System AM-1 spacecraft. SLA flew as a part of the STS-72 mission in January, 1996 observing the latitude band from +/- 28.5 deg, and on STS-85 in August, 1997 extending the observations to +/- 57 deg. Combining the SLA ranging data with shuttle position and pointing knowledge yields surface elevation data of very high vertical accuracy in an Earth-centered, absolute reference frame (2.8 m rms difference for SLA-01 with respect to ocean reference surface). Use of the well-determined mean sea surface reference for calibration allows propagation of high accuracy altimetry onto the continents. 436,635 SLA-01 land elevations were compared to the GTOPO30 grid after conversion to a mean sea level vertical datum using the Earth Geoid Model 96, jointly developed by Goddard and NIMA. The comparison reveals systematic elevation biases in southern Asia, Africa, Australia, and south America on the order 10's to 100 meters in the GTOPO30 compilation on spatial scales of 100's to 1000's of kilometers. These biases are likely due to vertical datum errors in the topographic source materials used to compile GTOPO30, which primarily consist of Defense Mapping Agency (DMA) digital elevation and topographic map products. These biases imply that elevation corrections applied to land gravity measurements using these DMA source materials will be biased, leading to errors in geoid models incorporating these land gravity data.

Harding, David J.↗

Enhancement to HITRAN to Support the NASA EOS Program

The HITRAN molecular database has been enhanced with the object of providing improved capabilities for the EOS program scientists. HITRAN itself is the database of high-resolution line parameters of gaseous species expected to be observed by the EOS program in its remote sensing activities. The database is part of a larger compilation that includes IR cross-sections, aerosol indices of refraction, and software for filtering and plotting portions of the database. These properties have also been improved. The software has been advanced in order to work on multiple platforms. Besides the delivery of the compilation on CD-ROM, the effort has been directed toward making timely access of data and software on the world wide web.

Kirby, Kate P.↗

Use Computer-Aided Tools to Parallelize Large CFD Applications

Porting applications to high performance parallel computers is always a challenging task. It is time consuming and costly. With rapid progressing in hardware architectures and increasing complexity of real applications in recent years, the problem becomes even more sever. Today, scalability and high performance are mostly involving handwritten parallel programs using message-passing libraries (e.g. MPI). However, this process is very difficult and often error-prone. The recent reemergence of shared memory parallel (SMP) architectures, such as the cache coherent Non-Uniform Memory Access (ccNUMA) architecture used in the SGI Origin 2000, show good prospects for scaling beyond hundreds of processors. Programming on an SMP is simplified by working in a globally accessible address space. The user can supply compiler directives, such as OpenMP, to parallelize the code. As an industry standard for portable implementation of parallel programs for SMPs, OpenMP is a set of compiler directives and callable runtime library routines that extend Fortran, C and C++ to express shared memory parallelism. It promises an incremental path for parallel conversion of existing software, as well as scalability and performance for a complete rewrite or an entirely new development. Perhaps the main disadvantage of programming with directives is that inserted directives may not necessarily enhance performance. In the worst cases, it can create erroneous results. While vendors have provided tools to perform error-checking and profiling, automation in directive insertion is very limited and often failed on large programs, primarily due to the lack of a thorough enough data dependence analysis. To overcome the deficiency, we have developed a toolkit, CAPO, to automatically insert OpenMP directives in Fortran programs and apply certain degrees of optimization. CAPO is aimed at taking advantage of detailed inter-procedural dependence analysis provided by CAPTools, developed by the University of Greenwich, to reduce potential errors made by users. Earlier tests on NAS Benchmarks and ARC3D have demonstrated good success of this tool. In this study, we have applied CAPO to parallelize three large applications in the area of computational fluid dynamics (CFD): OVERFLOW, TLNS3D and INS3D. These codes are widely used for solving Navier-Stokes equations with complicated boundary conditions and turbulence model in multiple zones. Each one comprises of from 50K to 1,00k lines of FORTRAN77. As an example, CAPO took 77 hours to complete the data dependence analysis of OVERFLOW on a workstation (SGI, 175MHz, R10K processor). A fair amount of effort was spent on correcting false dependencies due to lack of necessary knowledge during the analysis. Even so, CAPO provides an easy way for user to interact with the parallelization process. The OpenMP version was generated within a day after the analysis was completed. Due to sequential algorithms involved, code sections in TLNS3D and INS3D need to be restructured by hand to produce more efficient parallel codes. An included figure shows preliminary test results of the generated OVERFLOW with several test cases in single zone. The MPI data points for the small test case were taken from a handcoded MPI version. As we can see, CAPO's version has achieved 18 fold speed up on 32 nodes of the SGI O2K. For the small test case, it outperformed the MPI version. These results are very encouraging, but further work is needed. For example, although CAPO attempts to place directives on the outer- most parallel loops in an interprocedural framework, it does not insert directives based on the best manual strategy. In particular, it lacks the support of parallelization at the multi-zone level. Future work will emphasize on the development of methodology to work in a multi-zone level and with a hybrid approach. Development of tools to perform more complicated code transformation is also needed.

Jin, H.↗

Field Encapsulation Library The FEL 2.2 User Guide

This document describes version 2.2 of the Field Encapsulation Library (FEL), a library of mesh and field classes. FEL is a library for programmers - it is a "building block" enabling the rapid development of applications by a user. Since FEL is a library intended for code development, it is essential that enough technical detail be provided so that one can make full use of the code. Providing such detail requires some assumptions with respect to the reader's familiarity with the library implementation language, C++, particularly C++ with templates. We have done our best to make the explanations accessible to those who may not be completely C++ literate. Nevertheless, familiarity with the language will certainly help one's understanding of how and why things work the way they do. One consolation is that the level of understanding essential for using the library is significantly less than the level that one should have in order to modify or extend the library. One more remark on C++ templates: Templates have been a source of both joy and frustration for us. The frustration stems from the lack of mature or complete implementations that one has to work with. Template problems rear their ugly head particularly when porting. When porting C code, successfully compiling to a set of object files typically means that one is almost done. With templated C++ and the current state of the compilers and linkers, generating the object files is often only the beginning of the fun. On the other hand, templates are quite powerful. Used judiciously, templates enable more succinct designs and more efficient code. Templates also help with code maintenance. Designers can avoid creating objects that are the same in many respects, but not exactly the same. For example, FEL fields are templated by node type, thus the code for scalar fields and vector fields is shared. Furthermore, node type templating allows the library user to instantiate fields with data types not provided by the FEL authors. This type of flexibility would be difficult to offer without the support of the language. For users who may be having template-related problems, we offer the consolation that support for C++ templates is destined to improve with time. Efforts such as the Standard Template Library (STL) will inevitably drive vendors to provide more thorough, optimized tools for template code development. Furthermore, the benefits will become harder to resist for those who currently subscribe to the least-common-denominator "code it all in C" strategy. May FEL bring you both increased productivity and aesthetic satisfaction.

Moran, Patrick J.↗

Clementine High Resolution Camera Mosaicking Project

This report constitutes the final report for NASA Contract NASW-5054. This project processed Clementine I high resolution images of the Moon, mosaicked these images together, and created a 22-disk set of compact disk read-only memory (CD-ROM) volumes. The mosaics were produced through semi-automated registration and calibration of the high resolution (HiRes) camera's data against the geometrically and photometrically controlled Ultraviolet/Visible (UV/Vis) Basemap Mosaic produced by the US Geological Survey (USGS). The HiRes mosaics were compiled from non-uniformity corrected, 750 nanometer ("D") filter high resolution nadir-looking observations. The images were spatially warped using the sinusoidal equal-area projection at a scale of 20 m/pixel for sub-polar mosaics (below 80 deg. latitude) and using the stereographic projection at a scale of 30 m/pixel for polar mosaics. Only images with emission angles less than approximately 50 were used. Images from non-mapping cross-track slews, which tended to have large SPICE errors, were generally omitted. The locations of the resulting image population were found to be offset from the UV/Vis basemap by up to 13 km (0.4 deg.). Geometric control was taken from the 100 m/pixel global and 150 m/pixel polar USGS Clementine Basemap Mosaics compiled from the 750 nm Ultraviolet/Visible Clementine imaging system. Radiometric calibration was achieved by removing the image nonuniformity dominated by the HiRes system's light intensifier. Also provided are offset and scale factors, achieved by a fit of the HiRes data to the corresponding photometrically calibrated UV/Vis basemap, that approximately transform the 8-bit HiRes data to photometric units. The sub-polar mosaics are divided into tiles that cover approximately 1.75 deg. of latitude and span the longitude range of the mosaicked frames. Images from a given orbit are map projected using the orbit's nominal central latitude. Polar mosaics are tiled into squares 2250 pixels on a side, which spans approximately 2.2 deg. Two mosaics are provided for each pole: one corresponding to data acquired while periapsis was in the south, the other while periapsis was in the north. The CD-ROMs also contain ancillary data files that support the HiRes mosaic. These files include browse images with UV/Vis context stored in a Joint Photographic Experts Group (JPEG) format, index files ('imgindx.tab' and 'srcindx.tab') that tabulate the contents of the CD, and documentation files.

Source record↗

1993 Gordon Bell Prize Winners

The Gordon Bell Prize recognizes significant achievements in the application of supercomputers to scientific and engineering problems. In 1993, finalists were named for work in three categories: (1) Performance, which recognizes those who solved a real problem in the quickest elapsed time. (2) Price/performance, which encourages the development of cost-effective supercomputing. (3) Compiler-generated speedup, which measures how well compiler writers are facilitating the programming of parallel processors. The winners were announced November 17 at the Supercomputing 93 conference in Portland, Oregon. Gordon Bell, an independent consultant in Los Altos, California, is sponsoring $2,000 in prizes each year for 10 years to promote practical parallel processing research. This is the sixth year of the prize, which Computer administers. Something unprecedented in Gordon Bell Prize competition occurred this year: A computer manufacturer was singled out for recognition. Nine entries reporting results obtained on the Cray C90 were received, seven of the submissions orchestrated by Cray Research. Although none of these entries showed sufficiently high performance to win outright, the judges were impressed by the breadth of applications that ran well on this machine, all nine running at more than a third of the peak performance of the machine.

Karp, Alan H.↗

A Nearly Complete Census Of Young Stars Distribution In The Nearest Molecular Clouds

Under this grant we prepared a program of observations based on our previous plans for observations with the WIRE satellite. Our main effort was to use our WIRE plans to prepare estimates for a SIRTF Legacy Science proposal, From Molecular Cores to Planets (N. Evans, PI). For this purpose, L. Allen compiled catalogs of dense cores with and without associated stars, of stars in the youngest evolutionary stages (Class 0, I, and II), and of embedded clusters observed in the near infrared. Further, Tyler Bourke, Mario van den Ancker, and Chang Won Lee compiled and edited a refined lists of 150 isolated cores in the nearest star-forming regions within several hundred pc of the Sun, suitable for surveying with SIRTF. Our SIRTF Legacy Science proposal was selected for funding, and we are continuing with our planning for the observations.

Myers, Philip C.↗

Some Problems and Solutions in Transferring Ecosystem Simulation Codes to Supercomputers

Many computer codes for the simulation of ecological systems have been developed in the last twenty-five years. This development took place initially on main-frame computers, then mini-computers, and more recently, on micro-computers and workstations. Recent recognition of ecosystem science as a High Performance Computing and Communications Program Grand Challenge area emphasizes supercomputers (both parallel and distributed systems) as the next set of tools for ecological simulation. Transferring ecosystem simulation codes to such systems is not a matter of simply compiling and executing existing code on the supercomputer since there are significant differences in the system architectures of sequential, scalar computers and parallel and/or vector supercomputers. To more appropriately match the application to the architecture (necessary to achieve reasonable performance), the parallelism (if it exists) of the original application must be exploited. We discuss our work in transferring a general grassland simulation model (developed on a VAX in the FORTRAN computer programming language) to a Cray Y-MP. We show the Cray shared-memory vector-architecture, and discuss our rationale for selecting the Cray. We describe porting the model to the Cray and executing and verifying a baseline version, and we discuss the changes we made to exploit the parallelism in the application and to improve code execution. As a result, the Cray executed the model 30 times faster than the VAX 11/785 and 10 times faster than a Sun 4 workstation. We achieved an additional speed-up of approximately 30 percent over the original Cray run by using the compiler's vectorizing capabilities and the machine's ability to put subroutines and functions "in-line" in the code. With the modifications, the code still runs at only about 5% of the Cray's peak speed because it makes ineffective use of the vector processing capabilities of the Cray. We conclude with a discussion and future plans.

Skiles, J. W.↗

Operations on Graphical Models with Plates

This paper explains how graphical models, for instance Bayesian or Markov networks, can be extended to model problems in data analysis and learning. This provides a unified framework that combines lessons learned from the artificial intelligence, statistical and connectionist communities. This also offers a set of principles for developing a software generator for data analysis, whereby a learning or discovery system can be compiled from specifications. Many of the popular learning algorithms can be compiled in this way from graphical specifications. While in a sense this paper is a multidisciplinary review of learning, the main contribution here is the presentation of the material within the unifying framework of graphical models, and the observation that, as a result, the process of developing learning algorithms can be partly automated.

Buntine, Wray L.↗