> Kirin GPU Library
Kirin is a library that mimicks the behaviour of the GRAPE hardware and uses the GPU to execute the force calculations. Kirin makes use of CUDA and therefore only works on NVIDIA GPUs. Details of the implementation can be found in: Belleman, R.G., Bedorf, J., and Portegies Zwart, S.F., 2008, New Astronomy, 13, 103–112 But the seminal publication on block time-step algorithms in self gravitating N-body simulations using the graphical processor unit direct you to Portegies Zwart, S.F., Belleman, R.G., Peter Geldof, 2007, New Astronomy, 12, 641–650

Download the entire source code of Kirin.tar.gz

Kirin.zip contains the following files:
README.txt Detailed explanation on how to configure the makefiles and build various versions of the library.
Makefile Makefile (Needs to be edited by the user to match his specific configuration)
Makefile_SARA Makefile specifc for the machines at SARA
GRAPEV7.sln Solution file for Visual Studio .NET 2003
GRAPEV7.vcproj Project file for Visual Studio .NET 2003
Kirin.cfg Example configuration file for the library. Describtion of the settings can be found in the README.txt file.
starlab_vector.h Header file from starlab to support vectors during compilation
grape6_gpu.h Header file to link the library in other programs
grape6.cpp Contains the code that mimicks the GRAPE functions and translates them to our GPU code.
cudaCode.h Header file to connect the GPU code with the library mimicking functions.
cudaCode.cu GPU host code, code in this file interacts with the GPU.
kernels.cu Contains the GPU device code.

As noted above, the README.txt file contains detailed notes on how to build the library for direct integration and for treecode.


29 October 2007
Robert Belleman
Jeroen Bédorf
Simon F. Portegies Zwart

Version log:
Version 1.0: Initial public release.