PeTar
N-body code for collisional gravitational systems
|
Go to the documentation of this file.
3 #include <particle_simulator.hpp>
8 extern struct GPUProfile{
23 void print(std::ostream & fout,
const PS::F64 time_sys,
const PS::S64 n_loop=1){
24 fout<<
"Time: "<<time_sys<<std::endl;
26 for(
PS::S32 i=0; i<n_profile; i++) {
28 iptr->
print(fout, n_loop);
33 for(
PS::S32 i=0; i<n_profile; i++) {
35 iptr->
dump(fout, n_loop, width);
40 for(
PS::S32 i=0; i<n_profile; i++) {
47 for(
PS::S32 i=0; i<n_profile; i++) {
55 extern struct GPUCounter{
73 for(
PS::S32 i=0; i<n_counter; i++) {
75 iptr->
dump(fout, n_loop, width);
79 for(
PS::S32 i=0; i<n_counter; i++) {
86 for(
PS::S32 i=0; i<n_counter; i++) {
96 #define SPJSoft PS::SPJQuadrupoleInAndOut
98 #define SPJSoft PS::SPJMonopoleInAndOut
101 #ifdef PARTICLE_SIMULATOR_GPU_MULIT_WALK_INDEX
103 struct CalcForceWithLinearCutoffCUDAMultiWalk{
109 CalcForceWithLinearCutoffCUDAMultiWalk(){}
111 CalcForceWithLinearCutoffCUDAMultiWalk(
PS::S32 _rank,
PS::F64 _eps2,
PS::F64 _rcut2,
PS::F64 _G): my_rank(_rank), eps2(_eps2), rcut2(_rcut2), G(_G) {}
132 const bool send_flag);
CalcForceWithLinearCutoffCUDA()
Definition: force_gpu_cuda.hpp:143
Definition: soft_ptcl.hpp:271
void initialize(PS::S32 _rank, PS::F64 _eps2, PS::F64 _rcut2, PS::F64 _G)
Definition: force_gpu_cuda.hpp:147
Definition: profile.hpp:233
void dump(std::ostream &fout, const PS::S32 divider=1, const PS::S32 width=PROFILE_PRINT_WIDTH) const
Definition: profile.hpp:200
int32_t S32
Definition: pikg_vector.hpp:24
Definition: soft_ptcl.hpp:4
void dumpName(std::ostream &fout, const PS::S32 width=PROFILE_PRINT_WIDTH) const
Definition: profile.hpp:216
#define SPJSoft
Definition: force_gpu_cuda.hpp:98
PS::S32 RetrieveForceCUDA(const PS::S32 tag, const PS::S32 n_walk, const PS::S32 *ni, ForceSoft **force)
double F64
Definition: pikg_vector.hpp:17
PS::F64 G
Definition: force_gpu_cuda.hpp:141
int64_t S64
Definition: pikg_vector.hpp:23
PS::F64 eps2
Definition: force_gpu_cuda.hpp:139
void print(std::ostream &fout, const PS::S32 divider=1)
Definition: profile.hpp:196
void dumpName(std::ostream &fout, const PS::S32 width=PROFILE_PRINT_WIDTH) const
Definition: profile.hpp:262
PS::S32 my_rank
Definition: force_gpu_cuda.hpp:138
void reset()
Definition: profile.hpp:226
Definition: soft_ptcl.hpp:311
void dump(std::ostream &fout, const PS::S32 divider=1, const PS::S32 width=PROFILE_PRINT_WIDTH) const
Definition: profile.hpp:258
Definition: force_gpu_cuda.hpp:137
Definition: profile.hpp:176
PS::F64 rcut2
Definition: force_gpu_cuda.hpp:140
CalcForceWithLinearCutoffCUDA(PS::S32 _rank, PS::F64 _eps2, PS::F64 _rcut2, PS::F64 _G)
Definition: force_gpu_cuda.hpp:145
#define PROFILE_PRINT_WIDTH
Definition: profile.hpp:8
PS::S32 operator()(const PS::S32 tag, const PS::S32 n_walk, const EPISoft *epi[], const PS::S32 n_epi[], const EPJSoft *epj[], const PS::S32 n_epj[], const SPJSoft *spj[], const PS::S32 n_spj[])