Open Qmin
0.8.0
GPU-accelerated Q-tensor-based liquid crystal simulations
|
CUDA kernels and callers for updater classes. More...
Functions | |
__global__ void | gpu_adam_step_kernel (dVec *force, dVec *biasedMomentum, dVec *biasedMomentum2, dVec *correctedMomentum, dVec *correctedMomentum2, dVec *displacement, scalar deltaT, scalar beta1, scalar beta2, scalar beta1t, scalar beta2t, int N) |
bool | gpu_adam_step (dVec *force, dVec *biasedMomentum, dVec *biasedMomentum2, dVec *correctedMomentum, dVec *correctedMomentum2, dVec *displacement, scalar deltaT, scalar beta1, scalar beta2, scalar beta1t, scalar beta2t, int N, int blockSize) |
run an adam minimization step More... | |
__global__ void | gpu_update_velocity_FIRE_kernel (dVec *d_velocity, dVec *d_force, scalar alpha, scalar scaling, int N) |
bool | gpu_update_velocity_FIRE (dVec *d_velocity, dVec *d_force, scalar alpha, scalar scaling, int N) |
velocity = (1-a)velocity +a*scaling*force More... | |
__global__ void | gpu_nesterovAG_step_kernel (dVec *force, dVec *position, dVec *alternatePosition, scalar deltaT, scalar mu, int N) |
bool | gpu_nesterovAG_step (dVec *force, dVec *position, dVec *alternatePosition, scalar deltaT, scalar mu, int N, int blockSize) |
run an adam minimization step More... | |
__global__ void | gpu_update_velocity_kernel (dVec *d_velocity, dVec *d_force, scalar deltaT, int N) |
__global__ void | gpu_displacement_vv_kernel (dVec *d_displacement, dVec *d_velocity, dVec *d_force, scalar deltaT, int N) |
bool | gpu_update_velocity (dVec *d_velocity, dVec *d_force, scalar deltaT, int N) |
velocity = velocity +0.5*deltaT*force More... | |
bool | gpu_displacement_velocity_verlet (dVec *d_displacement, dVec *d_velocity, dVec *d_force, scalar deltaT, int N) |
displacement = dt*velocity + 0.5*dt^2*force More... | |
CUDA kernels and callers for updater classes.
CUDA kernels and callers.
bool gpu_adam_step | ( | dVec * | force, |
dVec * | biasedMomentum, | ||
dVec * | biasedMomentum2, | ||
dVec * | correctedMomentum, | ||
dVec * | correctedMomentum2, | ||
dVec * | displacement, | ||
scalar | deltaT, | ||
scalar | beta1, | ||
scalar | beta2, | ||
scalar | beta1t, | ||
scalar | beta2t, | ||
int | N, | ||
int | blockSize | ||
) |
run an adam minimization step
A memory-efficiency optimization has each thread acting on one dimension of one degree of freedom...
References HANDLE_ERROR.
Referenced by energyMinimizerAdam::adamStepGPU().
__global__ void gpu_update_velocity_FIRE_kernel | ( | dVec * | d_velocity, |
dVec * | d_force, | ||
scalar | alpha, | ||
scalar | scaling, | ||
int | N | ||
) |
update the velocity according to a FIRE step
References idx.
bool gpu_update_velocity_FIRE | ( | dVec * | d_velocity, |
dVec * | d_force, | ||
scalar | alpha, | ||
scalar | scaling, | ||
int | N | ||
) |
velocity = (1-a)velocity +a*scaling*force
d_velocity | array of velocity |
d_force | array of force |
alpha | the FIRE parameter |
scaling | the square root of (v.v / f.f) |
N | the length of the arrays |
References HANDLE_ERROR.
Referenced by energyMinimizerFIRE::fireStepGPU().
bool gpu_nesterovAG_step | ( | dVec * | force, |
dVec * | position, | ||
dVec * | alternatePosition, | ||
scalar | deltaT, | ||
scalar | mu, | ||
int | N, | ||
int | blockSize | ||
) |
run an adam minimization step
A memory-efficiency optimization has each thread acting on one dimension of one degree of freedom...
References HANDLE_ERROR.
Referenced by energyMinimizerNesterovAG::nesterovStepGPU().
__global__ void gpu_update_velocity_kernel | ( | dVec * | d_velocity, |
dVec * | d_force, | ||
scalar | deltaT, | ||
int | N | ||
) |
update the velocity in a velocity Verlet step
References idx.
__global__ void gpu_displacement_vv_kernel | ( | dVec * | d_displacement, |
dVec * | d_velocity, | ||
dVec * | d_force, | ||
scalar | deltaT, | ||
int | N | ||
) |
calculate the displacement in a velocity verlet step according to the force and velocity also updates the velocity for this half of the timestep
References idx.
bool gpu_update_velocity | ( | dVec * | d_velocity, |
dVec * | d_force, | ||
scalar | deltaT, | ||
int | N | ||
) |
velocity = velocity +0.5*deltaT*force
d_velocity | dVec array of velocity |
d_force | dVec array of force |
d_mass | scalar array of mass |
deltaT | time step |
N | the length of the arrays |
References HANDLE_ERROR.
Referenced by velocityVerlet::integrateEOMGPU().
bool gpu_displacement_velocity_verlet | ( | dVec * | d_displacement, |
dVec * | d_velocity, | ||
dVec * | d_force, | ||
scalar | deltaT, | ||
int | N | ||
) |
displacement = dt*velocity + 0.5*dt^2*force
d_displacement | dVec array of displacements |
d_velocity | dVec array of velocities |
d_force | dVec array of forces |
d_mass | scalar array of mass |
deltaT | time step |
N | the length of the arrays |
References HANDLE_ERROR.
Referenced by velocityVerlet::integrateEOMGPU().