Browse Prior Art Database

A VECTOR LANGUAGE FOR THE SOLUTION OF PDE PROBLEMS by

IP.com Disclosure Number: IPCOM000128359D
Original Publication Date: 1976-Dec-31
Included in the Prior Art Database: 2005-Sep-15
Document File: 11 page(s) / 34K

Publishing Venue

Software Patent Institute

Related People

John Gary: AUTHOR [+3]

Abstract

We a . re mainly concerned with the inclusion of a vector capability within a higher level language used to con- struct codes for the solution of partial differential equations. We attempt to design the vector constructs so that efficient programs ,can be compiled on a parallel computer such as the Texas Instruments ASC, the Cray computer, or a new version of the Illiac IV. The language should be designed so that it is easy for the user to dif- ferentiate between those constructs which can be compiled efficiently and those which can not. We should also impose restrictions so that implementation of an efficient compiler is.not too difficult. The language should be desi.gned so that it can be implemented on a serial computer by a preprocessor which generates an object FORTRAN program.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 15% of the total text.

Page 1 of 11

THIS DOCUMENT IS AN APPROXIMATE REPRESENTATION OF THE ORIGINAL.

A VECTOR LANGUAGE FOR THE SOLUTION OF PDE PROBLEMS by

John Gary Department of Computer Science University of Colorado Boulder, Colorado 80309

CU-CS-068-75 April 1975 Rewritten September 1976

1
1. Introduction.

We a . re mainly concerned with the inclusion of a vector capability within a higher level language used to con- struct codes for the solution of partial differential equations. We attempt to design the vector constructs so that efficient programs ,can be compiled on a parallel computer such as the Texas Instruments ASC, the Cray computer, or a new version of the Illiac
IV. The language should be designed so that it is easy for the user to dif- ferentiate between those constructs which can be compiled efficiently and those which can not. We should also impose restrictions so that implementation of an efficient compiler is.not too difficult. The language should be desi.gned so that it can be implemented on a serial computer by a preprocessor which generates an object FORTRAN program.

2. The vector structure.

We hope to provide a vector structure which has some of the power of APL but is tuned more closely to finite difference programs for partial differential equations., Our vectors are created by means of an "INDEX" applied to.an array. The index gives the lower and upper bounds for a particular subscript of the array. For-example,

(Equation Omitted)

The operations are done componentwise,,associating components of the indexed array which have the same symbolic index., Thus AB is the skew symmetric part of AA. It is assumed that the operations are done. simultaneously for all components of.the indexed expressions. Thus the expression

(Equation Omitted)

is the same as the FORTRAN computation

(Equation Omitted)

We extend this to allow array slices similar to ALGOL 68, however with more general operations similar to APL. Here.the operations are on conformable vectors as in APL. In this case no symbolic subscript indices are used to define the operations, instead the subscript ranges are,given explicitly. For example

1 This research was supported by NSF.grant ATM75-17036.

University of Colorado Page 1 Dec 31, 1976

Page 2 of 11

A VECTOR LANGUAGE FOR THE SOLUTION OF PDE PROBLEMS by

(Equation Omitted)

Note that

(Equation Omitted)

is not allowed si I nce the rank two vector AA[l..10,1..10] is not conform- able with VA[l..10]

We do not propose to allow general vectors of the sort allowed in APL. We would not allow for example the APL vector subscript

(Equation Omitted)

However we would allow

(Equation Omitted)

The vector VA requires irregular memory accessing which can not be done efficiently on a parallel computer. The vector VB is defined dynamically which we allow in a less general form than APL. The generality of APL might require an interpreter rather than a compiler, or a very complex compiler. We have used a syntax similar to PASCAL except that an end-of-line is a...