![]() |
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Host and device containers for particle data. More...
Collaboration diagram for GpuParticleData::Storage:Public Member Functions | |
| ~Storage () | |
| void | realloc_device_memory () |
| void | split_particle_struct () |
| void | copy_particles_to_device () |
| void | copy_particle_forces_to_host () |
| void | copy_particle_dip_fld_to_host () |
| void | copy_particle_torques_to_host () |
| std::span< float > | get_particle_forces_host_span () |
| std::span< float > | get_particle_dip_fld_host_span () |
| std::span< float > | get_particle_torques_host_span () |
Static Public Member Functions | |
| static auto | make_shared (ResourceCleanup &cleanup_queue) |
Public Attributes | |
| GpuParticleData::prop::bitset | m_need |
| Which particle properties are needed by GPU methods. | |
| GpuParticleData::GpuEnergy * | energy_device = nullptr |
| std::size_t | current_size = 0ul |
| pinned_vector< GpuParticle > | particle_data_host |
| thrust::device_vector< GpuParticle > | particle_data_device |
| pinned_vector< float > | particle_forces_host |
| thrust::device_vector< float > | particle_forces_device |
| pinned_vector< float > | particle_dip_fld_host |
| thrust::device_vector< float > | particle_dip_fld_device |
| pinned_vector< float > | particle_torques_host |
| thrust::device_vector< float > | particle_torques_device |
| float * | particle_pos_device = nullptr |
| float * | particle_dip_device = nullptr |
| float * | particle_q_device = nullptr |
Host and device containers for particle data.
Definition at line 90 of file GpuParticleData_cuda.cu.
|
inline |
Definition at line 126 of file GpuParticleData_cuda.cu.
|
inline |
Definition at line 138 of file GpuParticleData_cuda.cu.
References particle_dip_fld_device, and particle_dip_fld_host.
|
inline |
Definition at line 130 of file GpuParticleData_cuda.cu.
References particle_forces_device, and particle_forces_host.
|
inline |
Definition at line 148 of file GpuParticleData_cuda.cu.
References particle_torques_device, and particle_torques_host.
| void GpuParticleData::Storage::copy_particles_to_device | ( | ) |
Definition at line 253 of file GpuParticleData_cuda.cu.
References byte_size(), particle_data_device, particle_data_host, particle_dip_fld_device, particle_dip_fld_host, particle_forces_device, particle_forces_host, particle_torques_device, particle_torques_host, raw_data_pointer(), resize_or_replace(), and stream.
|
inline |
Definition at line 161 of file GpuParticleData_cuda.cu.
References particle_dip_fld_host.
|
inline |
Definition at line 156 of file GpuParticleData_cuda.cu.
References particle_forces_host.
|
inline |
Definition at line 167 of file GpuParticleData_cuda.cu.
References particle_torques_host.
|
inlinestatic |
Definition at line 120 of file GpuParticleData_cuda.cu.
References ResourceCleanup::push().
Referenced by GpuParticleData::initialize().
| void GpuParticleData::Storage::realloc_device_memory | ( | ) |
Definition at line 451 of file GpuParticleData_cuda.cu.
References cuda_safe_mem, GpuParticleData::prop::dip, GpuParticleData::prop::pos, and GpuParticleData::prop::q.
| void GpuParticleData::Storage::split_particle_struct | ( | ) |
Definition at line 420 of file GpuParticleData_cuda.cu.
References GpuParticleData::prop::dip, GpuParticleData::prop::pos, GpuParticleData::prop::q, raw_data_pointer(), and ParticleRange::size().
| std::size_t GpuParticleData::Storage::current_size = 0ul |
Definition at line 99 of file GpuParticleData_cuda.cu.
| GpuParticleData::GpuEnergy* GpuParticleData::Storage::energy_device = nullptr |
Definition at line 98 of file GpuParticleData_cuda.cu.
| GpuParticleData::prop::bitset GpuParticleData::Storage::m_need |
Which particle properties are needed by GPU methods.
Definition at line 97 of file GpuParticleData_cuda.cu.
| thrust::device_vector<GpuParticle> GpuParticleData::Storage::particle_data_device |
Definition at line 101 of file GpuParticleData_cuda.cu.
Referenced by copy_particles_to_device().
| pinned_vector<GpuParticle> GpuParticleData::Storage::particle_data_host |
Definition at line 100 of file GpuParticleData_cuda.cu.
Referenced by copy_particles_to_device().
| float* GpuParticleData::Storage::particle_dip_device = nullptr |
Definition at line 114 of file GpuParticleData_cuda.cu.
| thrust::device_vector<float> GpuParticleData::Storage::particle_dip_fld_device |
Definition at line 106 of file GpuParticleData_cuda.cu.
Referenced by copy_particle_dip_fld_to_host(), and copy_particles_to_device().
| pinned_vector<float> GpuParticleData::Storage::particle_dip_fld_host |
Definition at line 105 of file GpuParticleData_cuda.cu.
Referenced by copy_particle_dip_fld_to_host(), copy_particles_to_device(), and get_particle_dip_fld_host_span().
| thrust::device_vector<float> GpuParticleData::Storage::particle_forces_device |
Definition at line 103 of file GpuParticleData_cuda.cu.
Referenced by copy_particle_forces_to_host(), and copy_particles_to_device().
| pinned_vector<float> GpuParticleData::Storage::particle_forces_host |
Definition at line 102 of file GpuParticleData_cuda.cu.
Referenced by copy_particle_forces_to_host(), copy_particles_to_device(), and get_particle_forces_host_span().
| float* GpuParticleData::Storage::particle_pos_device = nullptr |
Definition at line 112 of file GpuParticleData_cuda.cu.
| float* GpuParticleData::Storage::particle_q_device = nullptr |
Definition at line 117 of file GpuParticleData_cuda.cu.
| thrust::device_vector<float> GpuParticleData::Storage::particle_torques_device |
Definition at line 110 of file GpuParticleData_cuda.cu.
Referenced by copy_particle_torques_to_host(), and copy_particles_to_device().
| pinned_vector<float> GpuParticleData::Storage::particle_torques_host |
Definition at line 109 of file GpuParticleData_cuda.cu.
Referenced by copy_particle_torques_to_host(), copy_particles_to_device(), and get_particle_torques_host_span().