Skip to content

Implement GPU LNO-CCSD in GPU4PySCF - #15

Closed
TengZTodayIsGonnaBeBetter wants to merge 20 commits into
bytedance:masterfrom
TengZTodayIsGonnaBeBetter:master
Closed

TengZTodayIsGonnaBeBetter wants to merge 20 commits into
bytedance:masterfrom
TengZTodayIsGonnaBeBetter:master

Conversation

@TengZTodayIsGonnaBeBetter

Copy link
Copy Markdown
Collaborator

Summary

This pull request introduces a GPU implementation of local natural orbital coupled-cluster singles and doubles (LNO-CCSD) in GPU4PySCF.

The implementation includes four main computational stages performed on the GPU:

  1. Global AO-to-MO transformation: Construct three-center density-fitting integrals in the occupied–virtual MO basis.
  2. MP2 one-particle density matrix: Construct local MP2 one-particle density matrices for LNO selection.
  3. Fragment AO-to-LAS transformation: Construct molecular integrals in the local active space (LAS) for each fragment.
  4. Fragment CCSD: Solve the restricted CCSD amplitude equations within each fragment's LAS.

Implementation

  • Support full four-virtual integral storage and density-fitting integral storage for fragment CCSD calculations.
  • Provide a bridge to the existing PySCF-forge LNO-CCSD framework.
  • Support CPU and GPU execution through a common interface.
  • Include DIIS and stage-wise wall-time reporting.

Examples

Include an example for C50H102 using the cc-pVDZ basis set, with configurable calculation settings and LNO thresholds.

Add lno-cc method in gpu4pyscf
Add lno-cc method in gpu4pyscf
Add lno-cc method in gpu4pyscf
Add lno-cc method in gpu4pyscf
Implement lazy imports for LNO module to avoid runpy warnings.
Implement LNO-CCSD in GPU4PySCF with four main computational stages performed on the GPU:

1. Global DF AO-to-MO integral transformation

2. Local MP2 one-particle density matrix construction

3. Fragment AO-to-LAS integral transformation

4. Fragment CCSD amplitude iterations

Include a bridge to the PySCF-forge LNO framework, DIIS support, and CPU/GPU execution options.
Fix Ruff E702 errors in LNO modules
Revert "Implement GPU LNO-CCSD in GPU4PySCF"
Implement lazy imports for LNO module.
Implement GPU LNO-CCSD in GPU4PySCF
Add C50H102 GPU LNO-CCSD example
@henryw7

henryw7 commented Nov 13, 2026

Copy link
Copy Markdown
Collaborator

Wrong target, please PR to pyscf/gpu4pyscf fork

@henryw7 henryw7 closed this Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants