Implementing O(N) N-Body Algorithms Efficiently in Data-Parallel Languages

The optimization techniques for hierarchical O(N) N-body algorithms described here focus on managing the data distribution and the data references, both between the memories of different nodes and within the memory hierarchy of each node. We show how the techniques can be expressed in data-parallel...

Full description

Bibliographic Details
Main Authors: Yu Hu, S. Lennart Johnsson
Format: Article
Language:English
Published: Hindawi Limited 1996-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.1155/1996/425936
Description
Summary:The optimization techniques for hierarchical O(N) N-body algorithms described here focus on managing the data distribution and the data references, both between the memories of different nodes and within the memory hierarchy of each node. We show how the techniques can be expressed in data-parallel languages, such as High Performance Fortran (HPF) and Connection Machine Fortran (CMF). The effectiveness of our techniques is demonstrated on an implementation of Anderson's hierarchical O(N) N-body method for the Connection Machine system CM-5/5E. Of the total execution time, communication accounts for about 10–20% of the total time, with the average efficiency for arithmetic operations being about 40% and the total efficiency (including communication) being about 35%. For the CM-5E, a performance in excess of 60 Mflop/s per node (peak 160 Mflop/s per node) has been measured.
ISSN:1058-9244
1875-919X