21 research outputs found
JMSL - a language derived from APL
A new AFL-derived language called JMSL is presented which rnodifies seven aspects of APL so that many current and potential APL users could benefit from a language which is easier to learn, read, write, and maintain. JMSL uses ASCII tokens instead of APL symbols to remedy interfacing, extensibility, and readability problems with APL. JMSL revises and extends APL built-in capabilities to provide greater expression and improved symbol-meaning correspondence. JMSL includes a new notation for nested arrays (a powerful data structure which combines the array processing of APL with the tree processing of LISP). JMSL provides hierarchical directories (similar to PASCAL or PL/I records) to allow structures to be indexed by name. JMSL modifies the traditional APL library/workspace storage interface by unifying the syntax of system commands in a way which allows UNIX-like directory storage. JMSL provides high-level control structures similar to those found in block-structured languages, including an event-handling mechanism. JMSL amends the APL scope rules to alleviate problems with side effects and object localization. Some areas of future work are discussed, and a description of JMSL syntax and semantics is included
Numerical residual perturbation solutions applied to the problem of a close satellite of the smaller body in the restricted three-body problem
Numerical residual perturbation solution for prediction of satellite position in restricted three-body proble
A system analysis of the 13.3 GHz scatterometer
The performance of the 13.3 GHz airborne scatterometer system which is used as a microwave remote sensor to detect moisture content of soil is analyzed with respect to its antenna pattern, the signal flow in the receiver data channels, and the errors in the signal outputs. The operational principle and the sensitivity of the system, as well as data handling are also described. The dielectric property of the terrain surface, as far as the scatterometer is concerned, is contained in the assumed forms of the functional dependence of the backscattering coefficient of the incident angle
NASA Tech Briefs, February 1994
Topics covered include: Test and Measurement; Electronic Components and Circuits; Electronic Systems; Physical Sciences; Materials; Computer Programs; Mechanics; Machinery; Fabrication Technology; Mathematics and Information Sciences; Life Sciences; Books and Report
A new parallelisation technique for heterogeneous CPUs
Parallelization has moved in recent years into the mainstream compilers, and the demand
for parallelizing tools that can do a better job of automatic parallelization is higher than
ever. During the last decade considerable attention has been focused on developing programming
tools that support both explicit and implicit parallelism to keep up with the
power of the new multiple core technology. Yet the success to develop automatic parallelising
compilers has been limited mainly due to the complexity of the analytic process
required to exploit available parallelism and manage other parallelisation measures such
as data partitioning, alignment and synchronization.
This dissertation investigates developing a programming tool that automatically parallelises
large data structures on a heterogeneous architecture and whether a high-level programming
language compiler can use this tool to exploit implicit parallelism and make use
of the performance potential of the modern multicore technology. The work involved the
development of a fully automatic parallelisation tool, called VSM, that completely hides
the underlying details of general purpose heterogeneous architectures. The VSM implementation
provides direct and simple access for users to parallelise array operations on the
Cell’s accelerators without the need for any annotations or process directives. This work
also involved the extension of the Glasgow Vector Pascal compiler to work with the VSM
implementation as a one compiler system. The developed compiler system, which is called
VP-Cell, takes a single source code and parallelises array expressions automatically.
Several experiments were conducted using Vector Pascal benchmarks to show the validity
of the VSM approach. The VP-Cell system achieved significant runtime performance
on one accelerator as compared to the master processor’s performance and near-linear
speedups over code runs on the Cell’s accelerators. Though VSM was mainly designed for
developing parallelising compilers it also showed a considerable performance by running
C code over the Cell’s accelerators
Robotic workcell analysis and object level programming
For many years robots have been programmed at manipulator or joint level without any real thought to the implementation of sensing until errors occur during program execution. For the control of complex, or multiple robot workcells, programming must be carried out at a higher level, taking into account the possibility of error occurrence. This requires the integration of decision information based on sensory data.Aspects of robotic workcell control are explored during this work with the object of integrating the results of sensor outputs to facilitate error recovery for the purposes of achieving completely autonomous operation.Network theory is used for the development of analysis techniques based on stochastic data. Object level programming is implemented using Markov chain theory to provide fully sensor integrated robot workcell control
Data layout types : a type-based approach to automatic data layout transformations for improved SIMD vectorisation
The increasing complexity of modern hardware requires sophisticated programming
techniques for programs to run efficiently. At the same time, increased power of
modern hardware enables more advanced analyses to be included in compilers. This
thesis focuses on one particular optimisation technique that improves utilisation
of vector units. The foundation of this technique is the ability to chose memory
mappings for data structures of a given program.
Usually programming languages use a fixed layout for logical data structures
in physical memory. Such a static mapping often has a negative effect on usability
of vector units. In this thesis we consider a compiler for a programming language
that allows every data structure in a program to have its own data layout. We
make sure that data layouts across the program are sound, and most importantly
we solve a problem of automatic data layout reconstruction. To consistently do this,
we formulate this as a type inference problem, where type encodes a data layout
for a given structure as well as implied program transformations. We prove that
type-implied transformations preserve semantics of the original programs and we
demonstrate significant performance improvements when targeting SIMD-capable
architectures