Nbody-Barnes-Hut-CUDA
所属分类:GPU/显卡
开发工具:C++
文件大小:228KB
下载次数:0
上传日期:2018-12-09 22:07:01
上 传 者:
sh-1993
说明: cuda gpu编程
(cuda gpu programming)
文件列表:
BarnesHutParticleSystem.cpp (17502, 2018-12-10)
BarnesHutParticleSystem.h (1720, 2018-12-10)
BarnesHutParticleSystem.o (425376, 2018-12-10)
Lock.cuh (372, 2018-12-10)
Makefile (991, 2018-12-10)
ParticleSystem.cpp (4731, 2018-12-10)
ParticleSystem.h (781, 2018-12-10)
Particle_cuda.cu (2000, 2018-12-10)
Particle_cuda.cuh (1118, 2018-12-10)
Particle_cuda.o (63224, 2018-12-10)
SimulationParameters.h (372, 2018-12-10)
contributors.txt (11, 2018-12-10)
debug.cpp (3581, 2018-12-10)
debug.h (580, 2018-12-10)
debug.o (69888, 2018-12-10)
kernels.cu (11285, 2018-12-10)
kernels.cuh (1227, 2018-12-10)
kernels.o (191296, 2018-12-10)
main.cpp (5342, 2018-12-10)
main.o (58272, 2018-12-10)
PROJECT STATUS: complete
Contained in this directory is code for simulating the n-body problem using the
barnes-hut tree algorithm.The barnes hut cuda code is loosely based on the openCL code by Benjamin Neukom https://github.com/bneukom/gpu-nbody and the paper "An Efficient CUDA Implementation of the
Tree-Based Barnes Hut n-Body Algorithm" by Martin Burtscher and Keshav Pingali.
*****************************************
Dependencies
*****************************************
This software requires the Nvidia CUDA toolkit installed on a system with a CUDA capable device
(gcc must also be installed).To install CUDA see https://developer.nvidia.com/cuda-downloads and the CUDA Quick Start Guide.
*****************************************
Compiling
*****************************************
Before compiling see notes below. To compile the code simply type in a terminal:
make clean
make build
*****************************************
Running
*****************************************
To run the barnes-hut algorithm with benchmarks for 500 iterations, simply type:
./main -barnes-hut -benchmark -iterations=500
*****************************************
Notes
*****************************************
Currently you must manually set the number of particles (numbodies) in main.cpp and then ensure that
the blockSize variable in kernels.cu and the blockSize and gridSize variables in particle_cuda.cu
matches. For example if you set numbodies = ******* in main.cpp, then you must also set blockSize = *** in
kernels.cu, and blockSize = ***, gridSize = ***, in particle_cuda.cu.
近期下载者:
相关文件:
收藏者: