Nbody Cuda : N个元素,切割成N/p个块,每个块p个元素。
开设N/p个block,每个block里面开p个线程。
每个线程计算一个元素和其他N个元素的受力和加速度。
每个线程将需要计算的N个元素分成N/p次完成,每次计算p个元素。
calculate_forces:总的入口,计算一个元素和所有元素的受力和加速度。
tile_calculation:线程一次计算和p个元素的受力。
bodyBodyInteraction:两个元素之间的受力和加速度。
程序中的tile是指p*p个元素的方块。
受力公式如下:万有引力公式