Nbody Force Calculation (NBODY):
Given n points in 3 dimensions calculate the gravitational force
vector on each point due to all other points. This force vector can
be an approximation. For this benchmakr we use a gravitational
constant of 1 giving the force between two particles located
at
r1 and
r2 as
:
F12 =
m
1 m
2 (
r2 -
r1)/ |(
r2 -
r1)|
3.
Input and Output File Formats
The input and output files need to be in the
3d points file format.
The input file is a set of points specified by their location. In the
current version all weights are assumed to be unit.
The output file specifies the force vector on each point and therefore
should have the same number of entries as the input.
Default Input Distributions
Each distribution should be run for
n=1,000,000. The weights
used for average time are given in parentheses. In all cases the
accuracy of the forces need to be within an error bound of
10
-6, i.e., |(F - F')/|F|| <
10
-6, where F is the actual force and F' the reported
force.
-
(1) Points selected at random uniformly within a unit sphere.
uniform -s -d 3 <n> <filename>
-
(1) Points selected at random from the Plummer distribution.
plummer -d 3 <n> <filename>
-
(1) Points selected at random uniformly on the surface of a unit sphere.
uniform -S -d 3 <n> <filename>
This project has been funded by the following sources:
Intel Labs Academic Research Office for the Parallel Algorithms for Non-Numeric Computing Program,
National Science Foundation, and
IBM Research.