Generated Horizontal and Vertical Data Parallel GCA Machines for the N-Body Force Calculation

  • Authors:
  • Johannes Jendrsczok;Rolf Hoffmann;Thomas Lenck

  • Affiliations:
  • Technische Universität Darmstadt, Darmstadt, Germany 64289;Technische Universität Darmstadt, Darmstadt, Germany 64289;Technische Universität Darmstadt, Darmstadt, Germany 64289

  • Venue:
  • ARCS '09 Proceedings of the 22nd International Conference on Architecture of Computing Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

The GCA model (Global Cellular Automata) is a massively parallel computation model which is a generalization of the Cellular Automata model. A GCA cell contains data and link information. Using the link information each cell has dynamic read access to any global cell in the field. The data and link information is updated in every generation. The GCA model is applicable and efficient for a large range of parallel algorithms (sorting, vector reduction, graph algorithms, matrix computations etc.). In order to describe algorithms for the GCA model the experimental language GCAL was developed. GCAL programs can be transformed automatically into a data parallel architecture (DPA). The paper presents for the N-body problem how the force calculation between the masses can be described in GCAL and synthesized into a data parallel architecture. At first the GCAL description of the application is transformed into a Verilog description which is inserted into a Verilog template describing the general DPA. Then the whole Verilog code is used as input for an FPGA synthesizing tool which generates the application-specific DPA. Two different DPAs are generated, a "horizontal " and a "vertical " DPA. The horizontal DPA uses 17 floating-point operators in each deep pipeline. In contrast the "vertical" DPA uses only one floating-point operation at a time out of a set of 6 floating-point operators. Both architectures are compared to resource consumption, time per cell operation and cost (logic elements * execution time). It turned out that the horizontal DPA is approximately 15 times more cost efficient than the vertical DPA.