-
Notifications
You must be signed in to change notification settings - Fork 138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RT-TDDFT GPU Acceleration (Phase 2): Adding needed BLAS and LAPACK support for Tensor
on CPU and refactoring linear algebra operations in TDDFT
#5773
base: develop
Are you sure you want to change the base?
Conversation
The current program has some bugs that cause the data in Useful information:
|
…assignment operator overload) instead
Tensor
Tensor
on CPU and refactoring linear algebra operations in TDDFT
…pport for Tensor on CPU and refactoring linear algebra operations in TDDFT
Phase 1: Rewriting existing code using
Tensor
(complete)This is merely a draft and does not represent the final code. Since
Tensor
can effectively support heterogeneous computing, the goal of the first phase is to rewrite the existing algorithms usingTensor
. Currently, all memory is still explicitly allocated on the CPU (the parameter of theTensor
constructor iscontainer::DeviceType::CpuDevice
).Phase 2: Adding needed BLAS and LAPACK support for
Tensor
on CPU and refactoring linear algebra operations in TDDFT (complete)Key Changes:
lapack_getrf
andlapack_getri
inmodule_base/module_container/ATen/kernels/lapack.h
to support matrix LU factorization (getrf
) and matrix inversion (getri
) operations forTensor
objects.zgetrf_
andzgetri_
) declarations inmodule_base/lapack_connector.h
to comply with standard conventions.Tensor
operations in TDDFT. These linear algebra operations incontainer::kernels
module frommodule_base/module_container/ATen
include aDevice
parameter, enabling seamless support for heterogeneous computing (GPU acceleration in future phases).Phase 3: Adding needed GPU-based linear algebra operations supporting
Tensor
in thecontainer::kernels
module (in progress)The objective of Phase 3 is to add GPU-based linear algebra operations (especially LU factorization
getrf
and matrix inversiongetri
) supportingTensor
in thecontainer::kernels
module (cuBLAS/cuSOLVER).