A vector C and Fortran compiler for the FPS T-series: Experiences with compiling to occam I
Autor: | W. G. Crosmun, A. Jackson, G. L. Raj, L. K. Ammons, D. E. Stevenson |
---|---|
Rok vydání: | 1992 |
Předmět: |
Interface (Java)
Computer science Programming language Fortran Transputer Program transformation Context (language use) occam Parallel computing Software_PROGRAMMINGTECHNIQUES computer.software_genre Vector processor Compiler construction Preprocessor Compiler Software_PROGRAMMINGLANGUAGES computer Software computer.programming_language |
Zdroj: | Software: Practice and Experience. 22:371-390 |
ISSN: | 1097-024X 0038-0644 |
DOI: | 10.1002/spe.4380220503 |
Popis: | We describe our implementation of C and Fortran preprocessors for the FPS T-series hypercube. The target of these preprocessors is the occam I language. We provide a brief overview of the INMOS transputer and the Weitek vector processing unit (VPU). These two units comprise one node of the T-series. Some depth of understanding of the VPU is required to fully appreciate the problems encountered in generating vector code. These complexities were not fully appreciated at the outset. The occam I language is briefly described. We focus on only those aspects of occam I which differ radically from C. The transformations used to preprocess C into occam I are discussed in detail. The special problems with the VPU both in terms of its (non)interface with occam I and in dealing with numerical programs is discussed separately. A lengthy discussion on the special techniques required for compilation is provided. C and Fortran are simply incompatible with the occam I model. We provide a catalogue of problems encountered. We emphasize that these problems are not so much with occam I but with preprocessing to occam I. We feel the CSP and occam I models are quite good for distributed processing. The ultimate message from this work should be seen in a larger context. Several languages—such as Ada and Modula-2—are being touted as the standards for the 1990s. These languages severely restrict parallel programming style; this may make saving dusty decks by preprocessing an impossibility. |
Databáze: | OpenAIRE |
Externí odkaz: |