Definition at line 48 of file hip.cpp.
◆ HIPGPUEigensolver()
| q3::execution::gpu::lapack::HIPGPUEigensolver::HIPGPUEigensolver |
( |
std::shared_ptr< device::GPUDeviceBackend > |
device_backend | ) |
|
|
inlineexplicit |
Construct a hipSOLVER eigensolver, creating a hipSOLVER handle.
Definition at line 53 of file hip.cpp.
◆ ~HIPGPUEigensolver()
| q3::execution::gpu::lapack::HIPGPUEigensolver::~HIPGPUEigensolver |
( |
| ) |
|
|
inlineoverride |
◆ generalized_hermitian_eigenvalue_solve()
| void q3::execution::gpu::lapack::HIPGPUEigensolver::generalized_hermitian_eigenvalue_solve |
( |
int |
matrix_dimension, |
|
|
Complex * |
matrix_a_data, |
|
|
int |
leading_dimension_a, |
|
|
Complex * |
matrix_b_data, |
|
|
int |
leading_dimension_b, |
|
|
Real * |
eigenvalues |
|
) |
| |
|
inlineoverridevirtual |
Solve A · x = λ · B · x via hipsolverDnZhegvd.
B must be positive definite. On exit, matrix_a_data holds the eigenvectors and eigenvalues contains eigenvalues in ascending order.
Implements q3::execution::gpu::lapack::GPUEigensolver.
Definition at line 132 of file hip.cpp.
◆ hermitian_eigenvalue_solve()
| void q3::execution::gpu::lapack::HIPGPUEigensolver::hermitian_eigenvalue_solve |
( |
int |
matrix_dimension, |
|
|
Complex * |
matrix_data, |
|
|
int |
leading_dimension, |
|
|
Real * |
eigenvalues |
|
) |
| |
|
inlineoverridevirtual |
Solve A · x = λ · x via hipsolverDnZheevd.
Uses the divide-and-conquer algorithm for better performance on large matrices. On entry, matrix_data holds the Hermitian matrix (upper triangle). On exit, it holds the eigenvectors.
Implements q3::execution::gpu::lapack::GPUEigensolver.
Definition at line 71 of file hip.cpp.
The documentation for this class was generated from the following file:
- src/layer_0_core/math/linear_algebra/gpu/lapack/hip.cpp