Pascal user manual and report; 3rd ed.
Pascal user manual and report; 3rd ed.
Communications of the ACM - Special issue on computer architecture
Glypnir—a programming language for Illiac IV
Communications of the ACM
Control structures in Illiac IV Fortran
Communications of the ACM
CFD — A FORTRAN-like language for the ILLIAC IV
Proceedings of the conference on Programming languages and compilers for parallel and vector machines
ACM Computing Surveys (CSUR)
Semantic parallelization: a practical exercise in abstract interpretation
POPL '87 Proceedings of the 14th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
EVA: an explicit vector language
ACM SIGPLAN Notices
UC: a language for the connection machine
Proceedings of the 1990 ACM/IEEE conference on Supercomputing
A geometrical data-parallel language
ACM SIGPLAN Notices
MU6V: a parallel vector processing system
ISCA '85 Proceedings of the 12th annual international symposium on Computer architecture
An APL Compiler for a Vector Processor
ACM Transactions on Programming Languages and Systems (TOPLAS)
Data Management and Control-Flow Aspects of an SIMD/SPMD Parallel Language/Compiler
IEEE Transactions on Parallel and Distributed Systems
Language concepts for distributed processing of large arrays
PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Users' experience with the ILLIAC IV system and its programming languages
ACM SIGPLAN Notices
A method for controlling parallelism in programming languages
ACM SIGPLAN Notices
Machine and collection abstractions for user-implemented data-parallel programming
Scientific Programming
ACM SIGARCH Computer Architecture News
Languages and Compilers for Parallel Computing
Parallelism and Array Processing
IEEE Transactions on Computers
An axiomatic semantics for data-parallel computation
IW-FM'97 Proceedings of the 1st Irish conference on Formal Methods
ACM Transactions on Programming Languages and Systems (TOPLAS)
Hi-index | 0.00 |
The scientific community has consistently demanded from computing machines an increase in the number of instructions executed per second. The latest increase has been achieved by duplication of arithmetic units for an array processor and the pipelining of functional units for vector processors. The high level programming languages for such machines have not benefited from the advances which have been made in programming language design and implementation techniques.A high level language is described in this paper which is appropriate for both array and vector processors and is defined without reference to the hardware of either type of machine. The syntax enables the parallel nature of a problem to be expressed in a form which can be readily exploited by these machines. This is achieved by using the data declarations to indicate the maximum extent of parallel processing and then to manipulate this, or a lesser extent, in the course of program execution. It was found to be possible to modify many of the structured programming and data structuring concepts for this type of parallel environment and to maintain the benefits of compile time and run time checking. Several special constructs and operators are also defined.The language offers to the large scale scientific computing community many of the advances which have been made in software engineering techniques while it exploits the architectural advances which have been made.