z-logo
Premium
A vector C and Fortran compiler for the FPS T‐series: Experiences with compiling to occam I
Author(s) -
Stevenson D. E.,
Ammons L. K.,
Crosmun W. G.,
Jackson A.,
Raj G. L.
Publication year - 1992
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380220503
Subject(s) - occam , computer science , programming language , transputer , compiler , parallel computing , fortran , subroutine , preprocessor , context (archaeology) , paleontology , biology
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.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here