____ _______
| _ \ |__ __|
| |_) | __ _ _ __ _ _| |_ __ ___ ___
| _ < / _` | '__| | | | | '__/ _ \/ _ \
| |_) | (_| | | | |_| | | | | __| __/
|____/ \__,_|_| \__, |_|_| \___|\___|
__/ |
|___/
A work-in-progress library for fast computation of N-body interactions on multiple GPUs, BaryTree implements barycentric Lagrange and Hermite polynomial interpolation treecodes. The current code employs an OpenACC GPU implementation.
Authors:
- Leighton W. Wilson (lwwilson@umich.edu)
- Nathan J. Vaughn (njvaughn@umich.edu)
Department of Mathematics, University of Michigan, Ann Arbor.
This project uses CMake to manage and configure its build system. In principle, building this project is as simple as executing the following from the top level directory of BaryTree:
mkdir build; cd build; export CC=<C compiler>; cmake ..; make
Compiling GPU versions requires that a PGI C compiler be used. For more information on building and installing, see INSTALL.md in this directory.
See the examples directory for several example executables that use BaryTree and the Trilinos Zoltan library for load balancing, in addition to an example using the library's interface for C programs. See examples/README.md for more details.
See the interfaces directory for BaryTree interfaces for non-C programs. Currently, there is a Python interface and an example script using that interface. See interfaces/README.md for more details.
Please refer to the following references for more background:
-
N. Vaughn, L. Wilson, and R. Krasny, A GPU-accelerated barycentric Lagrange treecode, submitted to Proc. 21st IEEE Int. Workshop Parallel Distrib. Sci. Eng. Comput. (PDSEC 2020) (2020).
-
R. Krasny and L. Wang, A treecode based on barycentric Hermite interpolation for electrostatic particle interactions, Comput. Math. Biophys. 7 (2019), 73-84.
-
H. A. Boateng and R. Krasny, Comparison of treecodes for computing electrostatic potentials in charged particle systems with disjoint targets and sources, J. Comput. Chem. 34 (2013), 2159-2167.
-
J.-P. Berrut and L. N. Trefethen, Barycentric Lagrange interpolation, SIAM Rev. 46 (2004), 501-517.
-
Z.-H. Duan and R. Krasny, An adaptive treecode for computing nonbonded potential energy in classical molecular systems, J. Comput. Chem. 22 (2001), 184–195.
Copyright © 2019-2020, The Regents of the University of Michigan. Released under the MIT License.
This material is based upon work supported by the National Science Foundation under grant DMS-1819094, and by the Extreme Science and Engineering Discovery Environment (XSEDE) under grants ACI-1548562 and ASC-190062. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.