PGPG: An Automatic Generator of Pipeline Design for Programmable GRAPE Systems
Open Access
- 25 October 2005
- journal article
- Published by Oxford University Press (OUP) in Publications of the Astronomical Society of Japan
- Vol. 57 (5) , 799-813
- https://doi.org/10.1093/pasj/57.5.799
Abstract
We have developed PGPG (Pipeline Generator for Programmable GRAPE), a software which generates the low-level design of the pipeline processor and communication software for FPGA-based computing engines (FBCEs). An FBCE typically consists of one or multiple FPGA (Field-Programmable Gate Array) chips and local memory. Here, the term "Field-Programmable" means that one can rewrite the logic implemented to the chip after the hardware is completed, and therefore a single FBCE can be used for calculation of various functions, for example pipeline processors for gravity, SPH interaction, or image processing. The main problem with FBCEs is that the user need to develop the detailed hardware design for the processor to be implemented to FPGA chips. In addition, she or he has to write the control logic for the processor, communication and data conversion library on the host processor, and application program which uses the developed processor. These require detailed knowledge of hardware design, a hardware description language such as VHDL, the operating system and the application, and amount of human work is huge. A relatively simple design would require 1 person-year or more. The PGPG software generates all necessary design descriptions, except for the application software itself, from a high-level design description of the pipeline processor in the PGPG language. The PGPG language is a simple language, specialized to the description of pipeline processors. Thus, the design of pipeline processor in PGPG language is much easier than the traditional design. For real applications such as the pipeline for gravitational interaction, the pipeline processor generated by PGPG achieved the performance similar to that of hand-written code. In this paper we present a detailed description of PGPG version 1.0.Keywords
All Related Versions
This publication has 14 references indexed in Scilit:
- Special-purpose computer HORN-5 for a real-time electroholographyOptics Express, 2005
- PAM-Blox II: design and evaluation of C++ module generation for computing with FPGAsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2003
- PROGRAPE-1: A Programmable, Multi-Purpose Computer for Many-Body SimulationsPublications of the Astronomical Society of Japan, 2000
- GRAPE-5: A Special-Purpose Computer for N-Body SimulationsPublications of the Astronomical Society of Japan, 2000
- GRAPE‐4: A Massively Parallel Special‐Purpose Computer for CollisionalN‐Body SimulationsThe Astrophysical Journal, 1997
- A Highly Parallelized Special-Purpose Computer for Many-Body Simulations with an Arbitrary Central Force: MD-GRAPEThe Astrophysical Journal, 1996
- A fast algorithm for particle simulationsJournal of Computational Physics, 1987
- A hierarchical O(N log N) force-calculation algorithmNature, 1986
- Smoothed particle hydrodynamics: theory and application to non-spherical starsMonthly Notices of the Royal Astronomical Society, 1977
- A numerical approach to the testing of the fission hypothesisThe Astronomical Journal, 1977