

Each MD-GRAPE chip has four pipelines that independently do a sequential stream of calculations
following a 100MHz clock signal. Each pipeline holds 6 particle positions. The MD-GRAPE board
also has memory for one million other particle positions, along with their charges. All of these
positions and charges are loaded onto the MD-GRAPE board with subroutine calls, using special
library routines on the host. The list for pipeline particles can differ from the list for
board particles.
Following another subroutine call from the host, logic on the board streams all of the board
particles past the pipeline particles. The pipelines automatically calculate the particle
separations and then evaluate and sum the forces (or energies) using a 1024-piece, fourth order
polynomial whose coefficients are supplied by library functions for standard forces
(van der Waals, Coulomb and Ewald-sum terms), or which may be supplied by the user through
another subroutine call to represent
any other force.
When this streaming is finished, the force sums return to the host and another six particles
are assigned to each pipeline. The board particles stream by again, producing new force sums
for these new particles. After all of the particles on the board have streamed by all of the
particles on the pipeline list, the operation is returned to the host computer.