|
|
| rotation_gpu () |
| | Constructor.
|
| |
|
| ~rotation_gpu () |
| | Destructor.
|
| |
|
bool | initialized () const |
| | Check if the object is initialized.
|
| |
|
int | init () |
| | Initialize member data.
|
| |
| int | add_optimal_rotation_nodes (cvm::real *const d_pos1, cvm::real *const d_pos2, const size_t num_atoms_pos1, const size_t num_atoms_pos2, cudaGraph_t &graph, std::unordered_map< std::string, cudaGraphNode_t > &nodes_map) |
| | Calculate the optimal rotation and store the corresponding eigenvalue and eigenvector in the arguments l0 and q0; if the gradients have been previously requested, calculate them as well. More...
|
| |
|
void | after_sync_check () const |
| | Checking after synchronization ( eigendecomposition iterations and max crossing)
|
| |
|
cvm::real * | get_S () const |
| |
|
cvm::real * | get_eigenvectors () const |
| |
|
cvm::real * | get_eigenvalues () const |
| |
|
cvm::quaternion * | get_q () const |
| |
|
void | to_cpu (cvm::rotation &rot) const |
| |
|
|
struct | rotation_derivative_gpu |
| |
◆ add_optimal_rotation_nodes()
| int colvars_gpu::rotation_gpu::add_optimal_rotation_nodes |
( |
cvm::real *const |
d_pos1, |
|
|
cvm::real *const |
d_pos2, |
|
|
const size_t |
num_atoms_pos1, |
|
|
const size_t |
num_atoms_pos2, |
|
|
cudaGraph_t & |
graph, |
|
|
std::unordered_map< std::string, cudaGraphNode_t > & |
nodes_map |
|
) |
| |
Calculate the optimal rotation and store the corresponding eigenvalue and eigenvector in the arguments l0 and q0; if the gradients have been previously requested, calculate them as well.
The method to derive the optimal rotation is defined in: Coutsias EA, Seok C, Dill KA. Using quaternions to calculate RMSD. J Comput Chem. 25(15):1849-57 (2004) DOI: 10.1002/jcc.20110 PubMed: 15376254
◆ d_S
Correlation matrix C (3, 3)
Overlap matrix S (4, 4)
◆ d_S_eigvec
| cvm::real* colvars_gpu::rotation_gpu::d_S_eigvec |
|
private |
Eigenvectors of S.
- Note
- d_S_eigvec is in column-major order. To get j-th element of the i-th eigenvector, use d_S_eigvec[i*4+j]
◆ tbcount
| unsigned int* colvars_gpu::rotation_gpu::tbcount |
|
private |
Used for debugging gradients.
Eigensolver Thread block atomic counter
The documentation for this class was generated from the following files: