The DINO User's Manual
Abstract
DINO (Distributed Numerically Oriented language) is a language for writing parallel programs for distributed memory (MIMD) multiprocessors. It is oriented towards expressing data parallel algorithms, which predominate in parallel numerical computation. Its goal is to make programming such algorithms natural and easy, without hindering their run-time efficiency. DINO consists of C augmented by several high level parallel constructs that are intended to allow the parallel program to conform to the way an algorithm designer naturally thinks about parallel algorithms. The key constructs are the ability to declare a virtual parallel computer that is best suited to the parallel computation, the ability to n1ap distributed data structures onto this virtual machine, and the ability to define procedures that will run on each processor of the virtual machine concurrently. ~lost of the remaining details of distributed parallel computation, including process management and interprocessor communication, result implicitly from these high level constructs and are handled automatically by the compiler. Section 2 contains a short description of the DINO language, followed by a methodology for writing DINO programs, and two examples. The definitions of all DINO constructs are in Section 3. Section 4 has a number of examples, with a features index. Section 5 contains information about how to setup DINO and how to use the compiler itself. Section 6 contains a list of known compiler bugs, plus hints on run-time errors and performance. Information on how to install DINO is contained in Section 7. Finally, Appendix A contains a complete EBNF specification for the DINO extensions to the C language.
Document Details
- Document Type
- Technical Report
- Publication Date
- Nov 01, 1990
- Accession Number
- ADA606429
Entities
People
- E. Eskow
- M. Rosing
- R. B. Schnabel
- R. K. Neves
- R. P. Weaver
- T. M. Derby
Organizations
- University of Colorado Boulder