Closed hwancheolJeong closed 3 years ago
@hwancheoljeong
Thank you for the changes. I am especially pleased to see that we now have support for QUDA. I look forward to trying it out.
On 7/3/21 4:49 PM, hwancheolJeong wrote:
I added a wrapper for QUDA Lanczos eigensolvers; thick restarted Lanczos and thick restarted block Lanczos. Also fixed a few minor bugs related to the Grid wrapper.
You can view, comment on, or merge this pull request online at:
https://github.com/milc-qcd/milc_qcd/pull/45 https://github.com/milc-qcd/milc_qcd/pull/45
Commit Summary
Provide return values for the top-level API.
Added su3_eigen_asqtad.Grid.2 test data
Reduced the tolerance parameter for su3_eigen_hisq.Grid.2 test because the Lanczos run may fail depending on the system. In Lanczos algorithm, eigenvectors' maximum precision get lower from the machine precision as iteration continues. I believe it is due to the error accumulation.
Put missing return keywords. Add finalize_grid() to the end of ks_eigen.
Run free_lattice() at the end of ks_eigen. Other applications may also need this fix.
Add QUDA Lanczos eigensolver support.
Add test samples for ks_eigen_asqtad and ks_eigen_hisq with QUDA eigensolver
Remove Nev parameter
modify QUDA verbose option
modify su3_eigen QUDA test samples
fix comments and outputs
File Changes
M Makefile https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52 (6)
M generic/gridMap.cc https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-d792570f3536e616d2a0b50d5d85088cc067892b0afe76388fe3c72480bd252d (12)
M generic_ks/Make_template https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-7c2abe99d9ef4f8ccc2e494fd20498b63e5cae3ed3544ef870a7399a6ecaf85d (3)
A generic_ks/eigen_stuff_QUDA.c https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-65a349cef88577e1e4285d09137210024531c789a2cb32ff1ed16cce63b89a1e (326)
M include/imp_ferm_links.h https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-cca4d8c380d4fa07971683084ee90f2904f86543c8c1da246251d68e6e696e3a (13)
M ks_eigen/Make_template https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-3c542a2c3561c377530dead07c0a997b811044be4392cdbcb6bd1722f9b3af0e (5)
M ks_eigen/control.c https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-dbf6e0a8be7db741dbe8b4442dc74fa5fe31be73609e9c78daff3138ce89df6b (13)
M ks_eigen/setup.c https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-97f46b35396fe4b1edd311268fa293e9a17b84fe1c632b5523efe68d34e94dfc (9)
M ks_eigen/test/checklist https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-9e4638c62780b407064c8f8ffc674d6608ebc62334b5efb7472aa1bb5c8e579a (11)
A ks_eigen/test/su3_eigen_asqtad.Grid.2.errtol https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-f709944db560dd4668711ce666217f843f94c57214e83527960dbfdcb763f444 (139)
A ks_eigen/test/su3_eigen_asqtad.Grid.2.sample-in https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-93bf6fe9d80eebab4955679e94ac86eb9e55e804b29c1fdfe68d5633045dfeea (52)
A ks_eigen/test/su3_eigen_asqtad.Grid.2.sample-out https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-85a113c5581e4130c43aac9cab27d17ec9fa0ca2ff73d828f39d9b4749843d10 (985)
A ks_eigen/test/su3_eigen_asqtad.QUDA.2.errtol https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-f36dc47355ec52fa3c2d5c7fa43a829706696029bd8023e4e2acb47003e65f35 (140)
A ks_eigen/test/su3_eigen_asqtad.QUDA.2.sample-in https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-3cfb4b812b2b4eadcc91698494c89b018279d9441def39fd196609b629b4ad00 (48)
A ks_eigen/test/su3_eigen_asqtad.QUDA.2.sample-out https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-770b5314ea8953571d492d20ecd4b2d2910d675895ce25f4d4191e31a9593dac (390)
M ks_eigen/test/su3_eigen_hisq.Grid.2.sample-in https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-7dcaa6aba612e4bd4604ec93aba7dc69c81b0d36de5fba565437b36060798d57 (2)
M ks_eigen/test/su3_eigen_hisq.Grid.2.sample-out https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-f681a23623fb1dbce5505f670e4444edb585421a90032b06ddfb11aad47865b1 (1874)
A ks_eigen/test/su3_eigen_hisq.QUDA.2.errtol https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-1353fc1b0ce316a726af500fe4cbfdfdd6f10bf59a095062a7148d1238ecced5 (140)
A ks_eigen/test/su3_eigen_hisq.QUDA.2.sample-in https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-c20b09999b84da2aa0f7eadaed9f1ed89ddc6b6f65d49c1c3c3b1060dbba054d (48)
A ks_eigen/test/su3_eigen_hisq.QUDA.2.sample-out https://github.com/milc-qcd/milc_qcd/pull/45/files#diff-fa405eddf18b8885d00c49ff1a096864ea9fcfd8fd994df26fd331efc89952fd (406)
Patch Links:
https://github.com/milc-qcd/milc_qcd/pull/45.patch https://github.com/milc-qcd/milc_qcd/pull/45.patch
https://github.com/milc-qcd/milc_qcd/pull/45.diff https://github.com/milc-qcd/milc_qcd/pull/45.diff
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/milc-qcd/milc_qcd/pull/45, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABP6HXVSLAFNUXBXJ57CJJDTV6HXNANCNFSM47YRYSGQ.
@detar Thanks for the approval!
I added a wrapper for QUDA Lanczos eigensolvers; thick restarted Lanczos and thick restarted block Lanczos. Also fixed a few minor bugs related to the Grid wrapper.