Search NASA⌕ Search

SEARCH · Search NASA

Results for “COMPILER PROGRAM”

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 271 records · Page 15

Compiling the space shuttle wind tunnel data base: An exercise in technical and managerial innovators

Engineers evaluating Space Shuttle flight data and performance results are using a massive data base of wind tunnel test data. A wind tunnel test data base of the magnitude attained is a major accomplishment. The Apollo program spawned an automated wind tunnel data analysis system called SADSAC developed by the Chrysler Space Division. An improved version of this system renamed DATAMAN was used by Chrysler to document analyzed wind tunnel data and data bank the test data in standardized formats. These analysis documents, associated computer graphics and standard formatted data were disseminated nationwide to the Shuttle technical community. These outputs became the basis for substantiating and certifying the flight worthiness of the Space Shuttle and for improving future designs. As an aid to future programs this paper documents the lessons learned in compiling the massive wind tunnel test data base for developing the Space Shuttle. In particular, innovative managerial and technical concepts evolved in the course of conceiving and developing this successful DATAMAN system and the methods and organization for applying the system are presented.

Kemp, N. D.↗

Results of Small-scale Solid Rocket Combustion Simulator testing at Marshall Space Flight Center

The Small-scale Solid Rocket Combustion Simulator (SSRCS) program was established at the Marshall Space Flight Center (MSFC), and used a government/industry team consisting of Hercules Aerospace Corporation, Aerotherm Corporation, United Technology Chemical Systems Division, Thiokol Corporation and MSFC personnel to study the feasibility of simulating the combustion species, temperatures and flow fields of a conventional solid rocket motor (SRM) with a versatile simulator system. The SSRCS design is based on hybrid rocket motor principles. The simulator uses a solid fuel and a gaseous oxidizer. Verification of the feasibility of a SSRCS system as a test bed was completed using flow field and system analyses, as well as empirical test data. A total of 27 hot firings of a subscale SSRCS motor were conducted at MSFC. Testing of the Small-scale SSRCS program was completed in October 1992. This paper, a compilation of reports from the above team members and additional analysis of the instrumentation results, will discuss the final results of the analyses and test programs.

Goldberg, Benjamin E.↗

Sensing and perception research for space telerobotics at JPL

PIFLEX is a pipelined-image processor that can perform elaborate computations whose exact nature is not fixed in the hardware, and that can handle multiple images. A wire-wrapped prototype PIFEX module has been produced and debugged, using a version of the convolver composed of three custom VLSI chips (plus the line buffers). A printed circuit layout is being designed for use with a single-chip convolver, leading to production of a PIFEX with about 120 modules. A high-level language for programming PIFEX has been designed, and a compiler will be written for it. The camera calibration software has been completed and tested. Two more terms in the camera model, for lens distortion, probably will be added later. The acquisition and tracking system has been designed and most of it has been coded in Pascal for the MicroVAX-II. The feature tracker, motion stereo module and stereo matcher have executed successfully. The model matcher is still under development, and coding has begun on the tracking initializer. The object tracker was running on a different computer from the VAX, and preliminary runs on real images have been performed there. Once all modules are working, optimization and integration will begin. Finally, when a sufficiently large PIFEX is available, appropriate parts of acquisition and tracking, including much of the feature tracker, will be programmed into PIFEX, thus increasing the speed and robustness of the system.

Gennery, Donald B.↗

The Steward Observatory asteroid relational database

The Steward Observatory Asteroid Relational Database (SOARD) was created as a flexible tool for undertaking studies of asteroid populations and sub-populations, to probe the biases intrinsic to asteroid databases, to ascertain the completeness of data pertaining to specific problems, to aid in the development of observational programs, and to develop pedagogical materials. To date, SOARD has compiled an extensive list of data available on asteroids and made it accessible through a single menu-driven database program. Users may obtain tailored lists of asteroid properties for any subset of asteroids or output files which are suitable for plotting spectral data on individual asteroids. The program has online help as well as user and programmer documentation manuals. The SOARD already has provided data to fulfill requests by members of the astronomical community. The SOARD continues to grow as data is added to the database and new features are added to the program.

Sykes, Mark V.↗

The Steward Observatory asteroid relational database

The Steward Observatory Asteroid Relational Database (SOARD) was created as a flexible tool for undertaking studies of asteroid populations and sub-populations, to probe the biases intrinsic to asteroid databases, to ascertain the completeness of data pertaining to specific problems, to aid in the development of observational programs, and to develop pedagogical materials. To date SOARD has compiled an extensive list of data available on asteroids and made it accessible through a single menu-driven database program. Users may obtain tailored lists of asteroid properties for any subset of asteroids or output files which are suitable for plotting spectral data on individual asteroids. A browse capability allows the user to explore the contents of any data file. SOARD offers, also, an asteroid bibliography containing about 13,000 references. The program has online help as well as user and programmer documentation manuals. SOARD continues to provide data to fulfill requests by members of the astronomical community and will continue to grow as data is added to the database and new features are added to the program.

Sykes, Mark V.↗

Supermap for Cray FORTRAN: A user's guide

This program produces a map giving an overall view of all components and attributes of a FORTRAN program unit run by Cray. Unlike the maps produced by the Cray FORTRAN compiler which relates only to a single module, this map relates to the entire program. It maps the usage of all variable and all commons used.

Guest, Clayton J.↗

The BLAZE language: A parallel language for scientific programming

A Pascal-like scientific programming language, Blaze, is described. Blaze contains array arithmetic, forall loops, and APL-style accumulation operators, which allow natural expression of fine grained parallelism. It also employs an applicative or functional procedure invocation mechanism, which makes it easy for compilers to extract coarse grained parallelism using machine specific program restructuring. Thus Blaze should allow one to achieve highly parallel execution on multiprocessor architectures, while still providing the user with onceptually sequential control flow. A central goal in the design of Blaze is portability across a broad range of parallel architectures. The multiple levels of parallelism present in Blaze code, in principle, allow a compiler to extract the types of parallelism appropriate for the given architecture while neglecting the remainder. The features of Blaze are described and shows how this language would be used in typical scientific programming.

Mehrotra, P.↗

The BLAZE language - A parallel language for scientific programming

A Pascal-like scientific programming language, BLAZE, is described. BLAZE contains array arithmetic, forall loops, and APL-style accumulation operators, which allow natural expression of fine grained parallelism. It also employs an applicative or functional procedure invocation mechanism, which makes it easy for compilers to extract coarse grained parallelism using machine specific program restructuring. Thus BLAZE should allow one to achieve highly parallel execution on multiprocessor architectures, while still providing the user with conceptually sequential control flow. A central goal in the design of BLAZE is portability across a broad range of parallel architectures. The multiple levels of parallelism present in BLAZE code, in principle, allow a compiler to extract the types of parallelism appropriate for the given architecture while neglecting the remainder. The features of BLAZE are described and it is shown how this language would be used in typical scientific programming.

Mehrotra, Piyush↗

The Mystro system: A comprehensive translator toolkit

Mystro is a system that facilities the construction of compilers, assemblers, code generators, query interpretors, and similar programs. It provides features to encourage the use of iterative enhancement. Mystro was developed in response to the needs of NASA Langley Research Center (LaRC) and enjoys a number of advantages over similar systems. There are other programs available that can be used in building translators. These typically build parser tables, usually supply the source of a parser and parts of a lexical analyzer, but provide little or no aid for code generation. In general, only the front end of the compiler is addressed. Mystro, on the other hand, emphasizes tools for both ends of a compiler.

Collins, W. R.↗

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

Programming the Navier-Stokes computer: An abstract machine model and a visual editor

The Navier-Stokes computer is a parallel computer designed to solve Computational Fluid Dynamics problems. Each processor contains several floating point units which can be configured under program control to implement a vector pipeline with several inputs and outputs. Since the development of an effective compiler for this computer appears to be very difficult, machine level programming seems necessary and support tools for this process have been studied. These support tools are organized into a graphical program editor. A programming process is described by which appropriate computations may be efficiently implemented on the Navier-Stokes computer. The graphical editor would support this programming process, verifying various programmer choices for correctness and deducing values such as pipeline delays and network configurations. Step by step details are provided and demonstrated with two example programs.

Middleton, David↗

The Size Distribution of Jupiter-Family Cometary Nuclei

Introduction: We are continuing our program to determine the size distribution of cometary nuclei. We have compiled a catalog of 105 measurements of 57 cometary nuclei, drawn from the general literature, from our own program of CCD photometry of distant cometary nuclei (Lowry and Weissman), and from unpublished observations by colleagues. We model the cumulative size distribution of the nuclei as a power law. Previous determinations of the size distribution slope do not agree. Fernandez et al. found a slope of alpha = 2.65+/-0.25 whereas Lowry et al. and Weissman and Lowry each found a slope of alpha = 1.60+/-0.10.

Weissman, Paul R.↗

Notes on Space Technology

These notes are part of a space technology course given at the Flight Research Division of the NACA Langley Aeronautical Laboratory during the early part of 1958. The course was conducted as a self-education program within the Flight Research Division and the various Sections of the notes were prepared for the most part by members of the Division; however, four of the seventeen Sections were prepared by personnel from the Pilotless Aircraft Research Division and the Compressibility Research Division who were very helpful in making the program more complete. The notes have been compiled on a brief time schedule and it will be apparent to the reader that the present version is incomplete and to some extent may lack uniformity in length, type of presentation, and technical detail in the various Sections. Nevertheless, there has been a demand for the notes from those who have seen them, and it is thought that they might serve a useful purpose if they were made available on a wider basis. It is believed that for the sake of expediency this goal is best achieved by making the material available now in its present unedited form instead of following the usual NACA editing procedures.

Henry A Pearson↗

Users manual for flight control design programs

Computer programs for the design of analog and digital flight control systems are documented. The program DIGADAPT uses linear-quadratic-gaussian synthesis algorithms in the design of command response controllers and state estimators, and it applies covariance propagation analysis to the selection of sampling intervals for digital systems. Program SCHED executes correlation and regression analyses for the development of gain and trim schedules to be used in open-loop explicit-adaptive control laws. A linear-time-varying simulation of aircraft motions is provided by the program TVHIS, which includes guidance and control logic, as well as models for control actuator dynamics. The programs are coded in FORTRAN and are compiled and executed on both IBM and CDC computers.

Nalbandian, J. Y.↗

A universal structured-design diagramer

Program (FLOWCHARTER) generates standardized flowcharts and concordances for development and debugging of programs in any language. User describes programming-language grammar, providing syntax rules in Backus-Naur form (BNF), list of semantic rules, and set of concordance rules. Once grammar is described, user supplies only source code of program to be diagrammed. FLOWCHARTER automatically produces flow diagram and concordance. Source code for program is written for PASCAL Release 2 compiler, as distributed by University of Minnesota.

Source record↗

Modular photovoltaic stand-alone systems: Phase 1

A family of modular stand-alone power systems that covered the range in power level from 1 kw to 14 kw was developed. Products within this family were required to be easily adaptable to different environments and applications, and were to be both reliable and cost effective. Additionally, true commonality in hardware was to be exploited, and unnecessary recurrence of design and development costs were to be minimized; thus improving hardware availability. Assurance of compatibility with large production runs, was also an underlying program goal. A secondary objective was to compile, evaluate, and determine the economic and technical status of available, and potentially available, technology options associated with the balance of systems (BOS) for stand-along photovoltaic (PV) power systems. The secondary objective not only directly supported the primary but additionally contributed to the definition and implementation of the BOS cost reduction plan.

Naff, G. J.↗

Research and Technology Objectives and Plans Summary (RTOPS)

This publication represents the NASA research and technology program for FY 1985. It is a compilation of the Summary portions of each of the RTOPs (Research and Technology Objectives and Plans) used for management review and control of research currently in progress throughout NASA. The RTOP summary is designed to facilitate communication and coordination among concerned technical personnel in government, in industry, and in universities. The first section containing citations and abstracts of the RTOPs is followed by four indexes: Subject, Technical Monitor, Responsible NASA Organization, and RTOP number.

Source record↗

Automating FEA programming

In this paper we briefly describe a combined symbolic and numeric approach for solving mathematical models on parallel computers. An experimental software system, PIER, is being developed in Common Lisp to synthesize computationally intensive and domain formulation dependent phases of finite element analysis (FEA) solution methods. Quantities for domain formulation like shape functions, element stiffness matrices, etc., are automatically derived using symbolic mathematical computations. The problem specific information and derived formulae are then used to generate (parallel) numerical code for FEA solution steps. A constructive approach to specify a numerical program design is taken. The code generator compiles application oriented input specifications into (parallel) FORTRAN77 routines with the help of built-in knowledge of the particular problem, numerical solution methods and the target computer.

Sharma, Naveen↗