Abstract:
When programs written for Von Neumann computers are to be used on supercomputers, e.g. vector computers, the operations in the program which can be executed in parallel must be executed in parallel in the vector computers in order to exploit the capacity of the vector computers. These situations can then be introduced into the program if it contains program loops. A program loop which contains no cycles can be vectorized, i.e., executed by vector commands. If a program loop contains cycles, the vector computer must contain special commands for executing these cycles in parallel. A special command of this type can, for example, be a command for forming the vector sum or for forming an arithmetic series. The command loops are inspected for the presence of cycles which can be replaced by these special commands. To this end, the control flow and data flow determined by the commands in the loop are inspected and control dependencies and data dependencies between the scalar presence of variables in the commands are determined and plotted on a graph. This graph is then thoroughly analysed to determine whether any cycle it contains can be replaced by a vector command of the vector computer.