pyscf/gpu4pyscf
A plugin to use Nvidia GPU in PySCF package
해결하는 문제
Hartree-Fock (HF) 및 밀도 범함수 이론 (DFT)과 같은 양자 화학 계산은 특히 대규모 분자나 주기적 시스템에서 계산 비용이 매우 높습니다. CPU에서 실행할 경우 수 시간에서 수 일이 걸릴 수 있습니다. 이 플러그인은 무거운 수학적 연산을 NVIDIA GPU로 오프로드하여 포함된 벤치마크에서 실행 시간을 10~30배 단축합니다.
작동 방식
PySCF 프레임워크를 위한 드롭인 GPU 백엔드로 작동합니다. 사용 중인 CUDA 버전 (11.x, 12.x, 또는 13.x)에 맞는 사전 빌드된 패키지를 설치하고, 선택적으로 cuTENSOR를 추가하여 텐서 축약을 가속할 수 있습니다. Python 스크립트에서 일반적인 PySCF 분자 객체를 생성한 후, 평균장 객체에 .to_gpu()를 호출하여 GPU로 이동시킵니다. 이후 .kernel() 메서드를 실행하면 GPU에서 SCF (자기 일관성 장) 계산이 수행됩니다. 동일한 객체를 사용하여 추가 설정 없이 기울기(gradient)와 헤세 행렬(Hessian)을 계산할 수도 있습니다.
대상 사용자
이미 PySCF를 사용하여 분자 또는 주기적 시뮬레이션을 수행하고 있으며, NVIDIA GPU (컴퓨트 능력 7.0 이상, 예: V100, RTX 20 시리즈 이후 모델)를 사용할 수 있는 계산 화학자, 재료 과학자 및 연구자를 위한 도구입니다. 기존 코드를 수정하지 않고도 PySCF 워크플로우를 가속화하려는 사용자를 위해 설계되었습니다.
주요 특징
- 분자 및 주기적 Hartree-Fock과 DFT, 해석적 미분, 들뜬 상태, 용매 모델, 물성 계산, 구조 최적화 및 비단열 동역학 지원.
- 간편한 설치:
pip install gpu4pyscf-cuda12x(CUDA 버전에 맞게 조정)를 실행하고, 더 나은 성능을 위해 선택적으로cutensor를 설치하십시오. - 벤치마크 결과, A100 GPU에서 다양한 범함수 (LDA, PBE, B3LYP, M06, wB97M-V)를 사용한 밀도 피팅 SCF 계산 시 32코어 CPU 기반의 Q-Chem 대비 10~30배의 속도 향상을 보임.
- PySCF와의 상호 운용성: 기존 PySCF 객체를
.to_gpu()를 통해 GPU 객체로 변환하여 즉시 계산 실행 가능. - 제한 사항: 기저 함수는 g 오비탈까지 (보조 기저는 i까지) 지원하며, 이중 하이브리드 범함수는 지원하지 않습니다. 또한 밀도 피팅은 def2-tzvpd 기저 사용 시 약 168개 원자까지 CPU 메모리 제한을 받습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트