ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
GpuParticleData::Storage Class Reference

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_torques_to_host ()
 
std::span< float > get_particle_forces_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::GpuEnergyenergy_device = nullptr
 
std::size_t current_size = 0ul
 
pinned_vector< GpuParticleparticle_data_host
 
thrust::device_vector< GpuParticleparticle_data_device
 
pinned_vector< float > particle_forces_host
 
thrust::device_vector< float > particle_forces_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
 

Detailed Description

Host and device containers for particle data.

Definition at line 90 of file GpuParticleData_cuda.cu.

Constructor & Destructor Documentation

◆ ~Storage()

GpuParticleData::Storage::~Storage ( )
inline

Definition at line 122 of file GpuParticleData_cuda.cu.

Member Function Documentation

◆ copy_particle_forces_to_host()

void GpuParticleData::Storage::copy_particle_forces_to_host ( )
inline

Definition at line 126 of file GpuParticleData_cuda.cu.

References particle_forces_device, and particle_forces_host.

◆ copy_particle_torques_to_host()

void GpuParticleData::Storage::copy_particle_torques_to_host ( )
inline

Definition at line 133 of file GpuParticleData_cuda.cu.

References particle_torques_device, and particle_torques_host.

◆ copy_particles_to_device()

◆ get_particle_forces_host_span()

std::span< float > GpuParticleData::Storage::get_particle_forces_host_span ( )
inline

Definition at line 141 of file GpuParticleData_cuda.cu.

References particle_forces_host.

◆ get_particle_torques_host_span()

std::span< float > GpuParticleData::Storage::get_particle_torques_host_span ( )
inline

Definition at line 145 of file GpuParticleData_cuda.cu.

References particle_torques_host.

◆ make_shared()

static auto GpuParticleData::Storage::make_shared ( ResourceCleanup cleanup_queue)
inlinestatic

Definition at line 116 of file GpuParticleData_cuda.cu.

References ResourceCleanup::push().

Referenced by GpuParticleData::initialize().

◆ realloc_device_memory()

void GpuParticleData::Storage::realloc_device_memory ( )

◆ split_particle_struct()

void GpuParticleData::Storage::split_particle_struct ( )

Member Data Documentation

◆ current_size

std::size_t GpuParticleData::Storage::current_size = 0ul

Definition at line 99 of file GpuParticleData_cuda.cu.

◆ energy_device

GpuParticleData::GpuEnergy* GpuParticleData::Storage::energy_device = nullptr

Definition at line 98 of file GpuParticleData_cuda.cu.

◆ m_need

GpuParticleData::prop::bitset GpuParticleData::Storage::m_need

Which particle properties are needed by GPU methods.

Definition at line 97 of file GpuParticleData_cuda.cu.

◆ particle_data_device

thrust::device_vector<GpuParticle> GpuParticleData::Storage::particle_data_device

Definition at line 101 of file GpuParticleData_cuda.cu.

Referenced by copy_particles_to_device().

◆ particle_data_host

pinned_vector<GpuParticle> GpuParticleData::Storage::particle_data_host

Definition at line 100 of file GpuParticleData_cuda.cu.

Referenced by copy_particles_to_device().

◆ particle_dip_device

float* GpuParticleData::Storage::particle_dip_device = nullptr

Definition at line 110 of file GpuParticleData_cuda.cu.

◆ particle_forces_device

thrust::device_vector<float> GpuParticleData::Storage::particle_forces_device

◆ particle_forces_host

pinned_vector<float> GpuParticleData::Storage::particle_forces_host

◆ particle_pos_device

float* GpuParticleData::Storage::particle_pos_device = nullptr

Definition at line 108 of file GpuParticleData_cuda.cu.

◆ particle_q_device

float* GpuParticleData::Storage::particle_q_device = nullptr

Definition at line 113 of file GpuParticleData_cuda.cu.

◆ particle_torques_device

thrust::device_vector<float> GpuParticleData::Storage::particle_torques_device

◆ particle_torques_host

pinned_vector<float> GpuParticleData::Storage::particle_torques_host

The documentation for this class was generated from the following file: