High Performance Direct Gravitational N-body Simulations on Graphics Processing Units – An implementation in CUDA - J. Bédorf (University of Amsterdam, 2007)