Advanced Computing Platform for Theoretical Physics

Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • stab23
    follow stab22, 1. PyQCU性能优化:dslash批量矩阵求逆、张量设备/类型缓存、预计算I±γ/sigma/clover系数、移除不必要clone及冗余计算; 2. 新增CLAUDE.md项目指南; 3. 新增OPTIMIZATION_REPORT.md优化报告; [Claude Code].
  • stab22
    e1249539 · 2026-07-05-17-15-19 ·
    follow dev70_5, claude code powered by the deepseek-v4-pro API is now part of the workflow — the future looks bright!
  • dev70_5
    25460b16 · 2026-05-05-16-51-06 ·
    follow dev70_4, turn the use of all SU(3) features in PyQCU/cpp/cuda/qcu/include/define.h back, and about the claim of difference in dev70_4, it is most likely a data type misuse error, but the final conclusion should still be correct...... a little depressed...
  • dev70_4
    742aba80 · 2026-05-05-16-35-42 ·
    follow dev70_3, the SU(3) feature of the gauge does not seem to be the cause of the problem, after removing the use of all SU(3) features in PyQCU/cpp/cuda/qcu/include/define.h, "Difference: 1.9331150241763544e-06" changed to "Difference: 7.450580540990326e-09" (clover_term in /root/PyQCU/examples/pyqcu/conftest.clover.bistabcg-v20260505.log and /root/PyQCU/examples/pyqcu/conftest.clover.bistabcg-v20260506.log), but the problem of abnormal total number of solver iterations in dev70_3 did not change significantly, so why is that???
  • dev70_3
    01e6ddf0 · 2026-05-05-16-10-22 ·
    follow dev70_2, referring to PyQCU/examples/pyqcu/conftest.*-v2026050*.log, similar to dev70_2, the multigrid part is done, the single iteration time in torch is about 0.074112 s (16*16*16*32, complex64), the single iteration time in cuda cpp is about 0.00487 s (16*16*16*32, complex64), the single iteration time in torch (with cuda qcu) is about 0.005856 s (16*16*16*32, complex64), however, the multgrid here, like bistabcg in dev70_2, suffers from an abnormal number of iterations. The initial hypothesis is that this is because the CUDA C++ version uses the SU(3) feature of the gauge (PyQCU/cpp/cuda/qcu/include/define.h:#define get_u(U, tmp_U, lat_xyzt)), while the Torch version does not. Each time the calculation results are compared, there is always a relative error of approximately one part per million.
  • dev70_2
    b05fc00c · 2026-05-05-08-48-14 ·
    follow dev70_1, referring to PyQCU/examples/pyqcu/conftest.clover.bistabcg-v20260505.log, I've implemented a bistabcg implementation using CUDA C++ as the matvec and Python as the main loop. Its single iteration time is about 20% slower than the pure CUDA C++ version, but the total number of iterations is about twice as many. I'm currently comparing the differences in the main loops of the two implementations.
  • dev70_1
    78c47ded · 2026-05-04-13-59-03 ·
    follow dev70, referring to PyQCU/examples/qcu/conftest.clover.bistabcg.dslash-v20260504.log, the implementation of DSlash in CUDA C++ solvers has been adjusted, and a Python interface has been provided for it, finally, it passed testing.
  • dev70
    7ff573f8 · 2026-05-04-12-22-37 ·
    follow dev69_1, give an optimization to PyQCU/cpp/cuda/qcu/src/apply_clovers.cu, now, build the cuda cpp version of multigrid.
  • dev69_1
    2bf0ed6b · 2026-04-28-13-26-49 ·
    follow dev69, referring to PyQCU/pyqcu, standardize the formatting of Python functions more rigorously.
  • dev69
    69d37c09 · 2026-04-27-07-32-27 ·
    follow test11, change norm and diff to norm2 and diff2, which are more accurate.
  • test11
    bbe10d3f · 2026-04-22-17-11-40 ·
    follow bug29_11, after about 10 days, the bug from bug29 to bug29_10  is cleared, referring to PyQCU/examples/qcu/conftest.clover-v20260423**.log, the single-threaded version of qcu (pccdxyzt, pscxyzt) test pass, now, prepare for the test of multi-threaded version and the new function (multigrid) with cuda c++. ^_^
  • bug29_11
    bae33932 · 2026-04-22-16-50-28 ·
    follow bug29_10, referring to PyQCU/cpp/cuda/qcu/src/clover_dslash_multi.cu:204-205, replace "get_u_comm(1 - parity, tmp2, tmp_U, lat_xyzt / lat_x);" with "get_u_comm((1 - parity), tmp2, tmp_U, lat_xyzt / lat_x);", keep (1 - parity), man! what can I say??????
  • bug29_10
    dcb41f89 · 2026-04-20-12-35-38 ·
    follow bug29_9, retrun to bug29_6, referring to PyQCU/examples/qcu/conftest.clover.pick-v20260420_3.log, bug29_8 is a output error, agree to bug29_7.
  • bug29_9
    ecbb5b71 · 2026-04-20-12-05-51 ·
    follow bug29_8, when #define _CLOVER_TEST_MULTI_IN_SINGLE_ 1, the result runs wrong.
  • bug29_8
    e62332e0 · 2026-04-20-09-37-07 ·
    follow bug29_7, referring to /root/PyQCU/examples/qcu/conftest.clover.pick-v20260420_2.log, in this log, very very strange, there is not index:p=0 that is picked up??????, bugggggggggg here!!!!!!
  • bug29_7
    3901c468 · 2026-04-20-08-51-58 ·
    follow bug29_6, referring to /root/PyQCU/examples/qcu/conftest.clover.pick-v20260420_1.log, it not like a bug appear in pick and compute, but comm (send and recv).
  • bug29_6
    3c8352bf · 2026-04-20-08-03-07 ·
    follow bug29_5, referring to /root/PyQCU/examples/qcu/conftest.clover.pick-v20260420.log, debuging......
  • bug29_5
    73afab8b · 2026-04-19-12-32-58 ·
    follow bug29_4, referring to PyQCU/examples/qcu/conftest.clover.**-v20260419.log, bug appear in oo, and also ee...... fk
  • bug29_4
    73afab8b · 2026-04-19-12-32-58 ·
    follow bug29_3, referring to PyQCU/examples/qcu/conftest.clover.**-v20260419.log, bug just appear in oo, not ee.
  • bug29_3
    09c6c215 · 2026-04-18-17-57-14 ·
    follow bug29_2, referring to PyQCU/pyqcu/cuda/qcu.pyi:def applyEndQcu, which is the cause of the bug with solver, in fact, I am still working with p***xyzt......