混合精度 CG 特征值求解器的初步实现尝试#7417
Open
Absolutely-Daisy wants to merge 1 commit into
Open
Conversation
实现混合精度共轭梯度求解器,采用精度分离策略: float - H|ψ>/S|ψ> 矩阵向量乘 + 预条件器(计算密集型) double - 点积/特征值更新/正交化(精度敏感) ## 新增文件 (3) - source/source_hsolver/diago_cg_mixed.h 类型特征 + 类声明 - source/source_hsolver/diago_cg_mixed.cpp 核心实现 - source/source_hsolver/test/diago_cg_mixed_test.cpp 单元测试 ## 修改文件 (5) - source/source_hsolver/CMakeLists.txt 添加编译目标 - source/source_hsolver/hsolver_pw.cpp 添加 cg_mixed 方法 - source/source_hsolver/test/CMakeLists.txt 添加测试 - source/source_io/read_input_item_elec_stru.cpp ks_solver 白名单 - source/Makefile.Objects Intel make 构建支持 ## 使用 INPUT 中设置 ks_solver = cg_mixed ## 验证 9/9 CI 通过 | vs 双精度 CG 偏差 < 1e-7 eV
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
实现混合精度共轭梯度求解器,采用精度分离策略:
float - H|ψ>/S|ψ> 矩阵向量乘 , 预条件器
double - 点积,特征值更新,正交化
新增文件 3个
修改文件 5个
使用
INPUT 中设置 ks_solver = cg_mixed