gpu4pyscf 1.7.2__tar.gz → 1.7.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/CHANGELOG +12 -0
  2. {gpu4pyscf-1.7.2/gpu4pyscf.egg-info → gpu4pyscf-1.7.4}/PKG-INFO +1 -1
  3. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/__init__.py +1 -1
  4. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/rks.py +44 -2
  5. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/cupy_helper.py +17 -0
  6. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4/gpu4pyscf.egg-info}/PKG-INFO +1 -1
  7. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/LICENSE +0 -0
  8. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/MANIFEST.in +0 -0
  9. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/README.md +0 -0
  10. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/__config__.py +0 -0
  11. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/_patch_pyscf.py +0 -0
  12. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/cc/__init__.py +0 -0
  13. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/cc/ccsd_incore.py +0 -0
  14. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/__init__.py +0 -0
  15. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/cderi.py +0 -0
  16. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/df.py +0 -0
  17. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/df_jk.py +0 -0
  18. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/__init__.py +0 -0
  19. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/rhf.py +0 -0
  20. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/rks.py +0 -0
  21. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/tdrhf.py +0 -0
  22. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/tdrks.py +0 -0
  23. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/tdrks_ris.py +0 -0
  24. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/tduhf.py +0 -0
  25. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/tduks.py +0 -0
  26. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/tduks_sf.py +0 -0
  27. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/ucdft.py +0 -0
  28. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/uhf.py +0 -0
  29. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/grad/uks.py +0 -0
  30. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/hessian/__init__.py +0 -0
  31. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/hessian/jk.py +0 -0
  32. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/hessian/rhf.py +0 -0
  33. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/hessian/rks.py +0 -0
  34. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/hessian/uhf.py +0 -0
  35. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/hessian/uks.py +0 -0
  36. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/int3c2e.py +0 -0
  37. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/int3c2e_bdiv.py +0 -0
  38. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/j_engine_3c2e.py +0 -0
  39. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/nac/__init__.py +0 -0
  40. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/nac/tdrhf.py +0 -0
  41. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/nac/tdrhf_grad_nacv.py +0 -0
  42. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/nac/tdrks.py +0 -0
  43. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/nac/tdrks_grad_nacv.py +0 -0
  44. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/nac/tdrks_ris.py +0 -0
  45. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/nac/tdrks_ris_grad_nacv.py +0 -0
  46. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/df/nac/tduks_sf.py +0 -0
  47. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/__init__.py +0 -0
  48. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/cdft_soscf.py +0 -0
  49. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/cdft_soscf_full.py +0 -0
  50. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/gen_grid.py +0 -0
  51. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/gks.py +0 -0
  52. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/libxc.py +0 -0
  53. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/libxc_structs.py +0 -0
  54. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/mcfun_gpu.py +0 -0
  55. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/numint.py +0 -0
  56. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/numint2c.py +0 -0
  57. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/radi.py +0 -0
  58. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/rks.py +0 -0
  59. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/rks_lowmem.py +0 -0
  60. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/rkspu.py +0 -0
  61. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/roks.py +0 -0
  62. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/ucdft.py +0 -0
  63. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/uks.py +0 -0
  64. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/ukspu.py +0 -0
  65. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/xc_alias.py +0 -0
  66. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dft/xc_deriv.py +0 -0
  67. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dispersion/__init__.py +0 -0
  68. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dispersion/dftd3.py +0 -0
  69. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dispersion/dftd4.py +0 -0
  70. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/dispersion/gcp.py +0 -0
  71. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/drivers/__init__.py +0 -0
  72. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/drivers/basis_vDZP_NWCHEM.dat +0 -0
  73. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/drivers/dft_3c_driver.py +0 -0
  74. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/drivers/dft_driver.py +0 -0
  75. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/drivers/ecp_vDZP_NWCHEM.dat +0 -0
  76. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/drivers/opt_3c_driver.py +0 -0
  77. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/drivers/opt_driver.py +0 -0
  78. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/fci/__init__.py +0 -0
  79. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/fci/direct_spin1.py +0 -0
  80. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/geomopt/__init__.py +0 -0
  81. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/geomopt/ase_solver.py +0 -0
  82. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/__init__.py +0 -0
  83. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/dispersion.py +0 -0
  84. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/rhf.py +0 -0
  85. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/rkspu.py +0 -0
  86. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/tdrhf.py +0 -0
  87. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/tdrks.py +0 -0
  88. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/tdrks_ris.py +0 -0
  89. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/tduhf.py +0 -0
  90. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/tduks.py +0 -0
  91. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/tduks_sf.py +0 -0
  92. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/ucdft.py +0 -0
  93. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/uhf.py +0 -0
  94. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/uks.py +0 -0
  95. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/grad/ukspu.py +0 -0
  96. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/gto/__init__.py +0 -0
  97. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/gto/ecp.py +0 -0
  98. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/gto/int3c1e.py +0 -0
  99. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/gto/int3c1e_ip.py +0 -0
  100. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/gto/int3c1e_ipip.py +0 -0
  101. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/gto/mole.py +0 -0
  102. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/hessian/__init__.py +0 -0
  103. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/hessian/dispersion.py +0 -0
  104. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/hessian/rhf.py +0 -0
  105. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/hessian/rks.py +0 -0
  106. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/hessian/uhf.py +0 -0
  107. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/hessian/uks.py +0 -0
  108. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/__init__.py +0 -0
  109. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/cublas.py +0 -0
  110. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/cuest_wrapper.py +0 -0
  111. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/cusolver.py +0 -0
  112. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/cutensor.py +0 -0
  113. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/diis.py +0 -0
  114. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/logger.py +0 -0
  115. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/memcpy.py +0 -0
  116. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/multi_gpu.py +0 -0
  117. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/lib/utils.py +0 -0
  118. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/md/__init__.py +0 -0
  119. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/md/distributions.py +0 -0
  120. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/md/fssh.py +0 -0
  121. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/md/fssh_tddft.py +0 -0
  122. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/md/fssh_tully.py +0 -0
  123. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/md/wigner_sampling.py +0 -0
  124. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/mp/__init__.py +0 -0
  125. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/mp/dfmp2.py +0 -0
  126. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/mp/dfmp2_addons.py +0 -0
  127. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/mp/dfmp2_drivers.py +0 -0
  128. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/mp/dfmp2_old.py +0 -0
  129. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/mp/dfump2.py +0 -0
  130. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/mp/mp2.py +0 -0
  131. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/__init__.py +0 -0
  132. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/finite_diff.py +0 -0
  133. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/mecp.py +0 -0
  134. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/tdrhf.py +0 -0
  135. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/tdrhf_grad_nacv.py +0 -0
  136. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/tdrks.py +0 -0
  137. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/tdrks_grad_nacv.py +0 -0
  138. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/tdrks_ris.py +0 -0
  139. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/tdrks_ris_grad_nacv.py +0 -0
  140. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/nac/tduks_sf.py +0 -0
  141. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/__init__.py +0 -0
  142. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/__init__.py +0 -0
  143. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/aft.py +0 -0
  144. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/aft_jk.py +0 -0
  145. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/df.py +0 -0
  146. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/df_jk.py +0 -0
  147. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/df_jk_real.py +0 -0
  148. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/fft.py +0 -0
  149. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/fft_jk.py +0 -0
  150. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/ft_ao.py +0 -0
  151. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/int2c2e.py +0 -0
  152. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/int3c2e.py +0 -0
  153. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/df/rsdf_builder.py +0 -0
  154. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/__init__.py +0 -0
  155. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/gen_grid.py +0 -0
  156. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/krks.py +0 -0
  157. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/krkspu.py +0 -0
  158. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/kucdft.py +0 -0
  159. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/kuks.py +0 -0
  160. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/kukspu.py +0 -0
  161. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/multigrid.py +0 -0
  162. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/multigrid_v2.py +0 -0
  163. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/numint.py +0 -0
  164. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/rks.py +0 -0
  165. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/dft/uks.py +0 -0
  166. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/__init__.py +0 -0
  167. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/krhf.py +0 -0
  168. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/krhf_stress.py +0 -0
  169. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/krks.py +0 -0
  170. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/krks_stress.py +0 -0
  171. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/krkspu.py +0 -0
  172. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/kucdft.py +0 -0
  173. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/kuhf.py +0 -0
  174. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/kuhf_stress.py +0 -0
  175. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/kuks.py +0 -0
  176. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/kuks_stress.py +0 -0
  177. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/kukspu.py +0 -0
  178. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/pp.py +0 -0
  179. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/rhf.py +0 -0
  180. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/rhf_stress.py +0 -0
  181. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/rks.py +0 -0
  182. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/rks_stress.py +0 -0
  183. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/uhf.py +0 -0
  184. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/uhf_stress.py +0 -0
  185. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/uks.py +0 -0
  186. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/grad/uks_stress.py +0 -0
  187. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/gto/__init__.py +0 -0
  188. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/gto/int1e.py +0 -0
  189. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/gto/pseudo/__init__.py +0 -0
  190. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/gto/pseudo/pp_int.py +0 -0
  191. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/lib/__init__.py +0 -0
  192. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/lib/kpts_helper.py +0 -0
  193. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/scf/__init__.py +0 -0
  194. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/scf/hf.py +0 -0
  195. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/scf/j_engine.py +0 -0
  196. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/scf/khf.py +0 -0
  197. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/scf/kuhf.py +0 -0
  198. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/scf/rsjk.py +0 -0
  199. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/scf/smearing.py +0 -0
  200. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/scf/uhf.py +0 -0
  201. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/tools/__init__.py +0 -0
  202. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/tools/k2gamma.py +0 -0
  203. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pbc/tools/pbc.py +0 -0
  204. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pop/__init__.py +0 -0
  205. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/pop/esp.py +0 -0
  206. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/properties/__init__.py +0 -0
  207. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/properties/c6.py +0 -0
  208. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/properties/eda.py +0 -0
  209. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/properties/ir.py +0 -0
  210. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/properties/polarizability.py +0 -0
  211. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/properties/raman.py +0 -0
  212. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/properties/shielding.py +0 -0
  213. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/qmmm/__init__.py +0 -0
  214. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/qmmm/chelpg.py +0 -0
  215. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/qmmm/external_field.py +0 -0
  216. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/qmmm/itrf.py +0 -0
  217. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/qmmm/pbc/__init__.py +0 -0
  218. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/qmmm/pbc/itrf.py +0 -0
  219. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/qmmm/pbc/mm_mole.py +0 -0
  220. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/qmmm/pbc/tools.py +0 -0
  221. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/__init__.py +0 -0
  222. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/_response_functions.py +0 -0
  223. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/addons.py +0 -0
  224. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/cphf.py +0 -0
  225. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/diis.py +0 -0
  226. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/dispersion.py +0 -0
  227. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/ghf.py +0 -0
  228. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/hf.py +0 -0
  229. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/hf_lowmem.py +0 -0
  230. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/hf_symm.py +0 -0
  231. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/int2c2e.py +0 -0
  232. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/int4c2e.py +0 -0
  233. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/j_engine.py +0 -0
  234. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/jk.py +0 -0
  235. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/rohf.py +0 -0
  236. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/smearing.py +0 -0
  237. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/soscf.py +0 -0
  238. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/ucphf.py +0 -0
  239. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/uhf.py +0 -0
  240. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/scf/uhf_symm.py +0 -0
  241. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/__init__.py +0 -0
  242. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/data/__init__.py +0 -0
  243. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/data/atomic.py +0 -0
  244. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/data/corrections.py +0 -0
  245. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/data/electron_repulsion.py +0 -0
  246. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/dmp/__init__.py +0 -0
  247. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/dmp/sp2_purification.py +0 -0
  248. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/grad/__init__.py +0 -0
  249. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/grad/rhf.py +0 -0
  250. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/gto/__init__.py +0 -0
  251. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/gto/mole.py +0 -0
  252. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/gto/params.py +0 -0
  253. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/integral/__init__.py +0 -0
  254. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/integral/eri_1c2e.py +0 -0
  255. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/integral/eri_2c2e.py +0 -0
  256. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/integral/fock.py +0 -0
  257. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/integral/hcore2c1e.py +0 -0
  258. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/lib.py +0 -0
  259. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/scf/__init__.py +0 -0
  260. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/scf/diis.py +0 -0
  261. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/sem/scf/hf.py +0 -0
  262. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/__init__.py +0 -0
  263. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/_attach_solvent.py +0 -0
  264. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/grad/__init__.py +0 -0
  265. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/grad/pcm.py +0 -0
  266. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/grad/smd.py +0 -0
  267. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/grad/smd_experiment.py +0 -0
  268. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/hessian/__init__.py +0 -0
  269. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/hessian/pcm.py +0 -0
  270. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/hessian/smd.py +0 -0
  271. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/hessian/smd_experiment.py +0 -0
  272. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/pcm.py +0 -0
  273. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/smd.py +0 -0
  274. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/smd_experiment.py +0 -0
  275. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/tdscf/__init__.py +0 -0
  276. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/solvent/tdscf/pcm.py +0 -0
  277. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/__init__.py +0 -0
  278. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/_krylov_tools.py +0 -0
  279. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/_lr_eig.py +0 -0
  280. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/_uhf_resp_sf.py +0 -0
  281. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/math_helper.py +0 -0
  282. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/parameter.py +0 -0
  283. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/rhf.py +0 -0
  284. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/ris.py +0 -0
  285. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/rks.py +0 -0
  286. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/spectralib.py +0 -0
  287. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/uhf.py +0 -0
  288. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tdscf/uks.py +0 -0
  289. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tools/__init__.py +0 -0
  290. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tools/ase_interface.py +0 -0
  291. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf/tools/method_config.py +0 -0
  292. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf.egg-info/SOURCES.txt +0 -0
  293. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf.egg-info/dependency_links.txt +0 -0
  294. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf.egg-info/requires.txt +0 -0
  295. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/gpu4pyscf.egg-info/top_level.txt +0 -0
  296. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/setup.cfg +0 -0
  297. {gpu4pyscf-1.7.2 → gpu4pyscf-1.7.4}/setup.py +0 -0
@@ -1,3 +1,15 @@
1
+ v1.7.4 (2026-06-23)
2
+ -------------------
3
+ * Improvements
4
+ - Check host memory limits before allocating large mapped memory
5
+
6
+
7
+ v1.7.3 (2026-06-17)
8
+ -------------------
9
+ * Fixes
10
+ - Restore the grids_response_cc and grids_noresponse_cc APIs that were removed in 1.7.1
11
+
12
+
1
13
  v1.7.2 (2026-06-15)
2
14
  -------------------
3
15
  * Improvements
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gpu4pyscf
3
- Version: 1.7.2
3
+ Version: 1.7.4
4
4
  Summary: GPU extensions for PySCF
5
5
  Author: PySCF developers
6
6
  License: Apache-2.0
@@ -12,7 +12,7 @@
12
12
  # See the License for the specific language governing permissions and
13
13
  # limitations under the License.
14
14
 
15
- __version__ = '1.7.2'
15
+ __version__ = '1.7.4'
16
16
 
17
17
  from . import _patch_pyscf
18
18
 
@@ -17,6 +17,7 @@
17
17
 
18
18
  '''Non-relativistic RKS analytical nuclear gradients'''
19
19
  from concurrent.futures import ThreadPoolExecutor
20
+ import warnings
20
21
  import ctypes
21
22
  import numpy
22
23
  import cupy
@@ -800,11 +801,52 @@ def get_nlc_exc_full_response(ni, mol, grids, xc_code, dms, relativity=0, hermi=
800
801
 
801
802
  return exc1, 0
802
803
 
804
+ # JCP 98, 5612 (1993); DOI:10.1063/1.464906
803
805
  def grids_response_cc(grids):
804
- raise NotImplementedError("grids_response_cc() in GPU4PySCF is not used or tested anymore")
806
+ if not getattr(grids_response_cc, "_warned", False):
807
+ grids_response_cc._warned = True
808
+ warnings.warn("grids_response_cc() in GPU4PySCF is not used or tested anymore",
809
+ DeprecationWarning)
810
+
811
+ # Notice: the returned grid order could be different from pyscf.grad.rks.grids_response_cc()!
812
+ mol = grids.mol
813
+
814
+ grid_to_atom_index_map = grids.atm_idx
815
+ atom_to_grid_index_map = [cupy.where(grid_to_atom_index_map == i_atom)[0] for i_atom in range(mol.natm)]
816
+ grid_to_atom_index_map = None
817
+
818
+ from gpu4pyscf.hessian.rks import get_dweight_dA # Avoid circular dependency
819
+
820
+ for i_atom in range(mol.natm):
821
+ i_g = atom_to_grid_index_map[i_atom]
822
+ fake_grids = type('FakeGrid', (object,), {})()
823
+ fake_grids.coords = grids.coords[i_g, :]
824
+ fake_grids.weights = grids.weights[i_g]
825
+ fake_grids.quadrature_weights = grids.quadrature_weights[i_g]
826
+ fake_grids.atm_idx = cupy.zeros(len(i_g), dtype = cupy.int32) + i_atom
827
+ fake_grids.atomic_radii = grids.atomic_radii
828
+ fake_grids.radii_adjust = grids.radii_adjust
829
+ fake_grids.becke_scheme = grids.becke_scheme
830
+ dw_dA_i = get_dweight_dA(mol, fake_grids)
831
+ yield fake_grids.coords, fake_grids.weights, dw_dA_i
805
832
 
806
833
  def grids_noresponse_cc(grids):
807
- raise NotImplementedError("grids_noresponse_cc() in GPU4PySCF is not used or tested anymore")
834
+ if not getattr(grids_noresponse_cc, "_warned", False):
835
+ grids_noresponse_cc._warned = True
836
+ warnings.warn("grids_noresponse_cc() in GPU4PySCF is not used or tested anymore",
837
+ DeprecationWarning)
838
+
839
+ # same as above but without the response, for nlc grids response routine
840
+ # Similarly, the returned grid order could be different from pyscf.grad.rks.grids_noresponse_cc()!
841
+ mol = grids.mol
842
+
843
+ grid_to_atom_index_map = grids.atm_idx
844
+ atom_to_grid_index_map = [cupy.where(grid_to_atom_index_map == i_atom)[0] for i_atom in range(mol.natm)]
845
+ grid_to_atom_index_map = None
846
+
847
+ for i_atom in range(mol.natm):
848
+ i_g = atom_to_grid_index_map[i_atom]
849
+ yield grids.coords[i_g, :], grids.weights[i_g]
808
850
 
809
851
  class Gradients(rhf_grad.Gradients):
810
852
  from gpu4pyscf.lib.utils import to_gpu, device
@@ -27,6 +27,7 @@ from gpu4pyscf.lib.memcpy import copy_array, p2p_transfer #NOQA
27
27
  from gpu4pyscf.lib import multi_gpu
28
28
  from gpu4pyscf.lib.utils import load_library
29
29
  from gpu4pyscf.__config__ import num_devices, _p2p_access
30
+ from gpu4pyscf import __config__
30
31
 
31
32
  LMAX_ON_GPU = 7
32
33
  DSOLVE_LINDEP = 1e-13
@@ -801,6 +802,13 @@ def _gen_x0(v, xs):
801
802
  x0 = x0[0]
802
803
  return x0
803
804
 
805
+ _MAX_MEMORY = os.getenv('PYSCF_MAX_MEMORY')
806
+ if _MAX_MEMORY is None and __config__.MAX_MEMORY != 4000:
807
+ # 4000 MB is the built-in default initialized in pyscf.__config__.
808
+ # If MAX_MEMORY has been explicitly configured (e.g. in ~/.pyscf_conf.py),
809
+ # use that value when the environment variable is not set.
810
+ _MAX_MEMORY = __config__.MAX_MEMORY
811
+
804
812
  def empty_mapped(shape, dtype=float, order='C'):
805
813
  '''(experimental)
806
814
  Returns a new, uninitialized NumPy array with the given shape and dtype.
@@ -812,6 +820,15 @@ def empty_mapped(shape, dtype=float, order='C'):
812
820
  size = int(np.prod(shape))
813
821
  nbytes = size * int(np.dtype(dtype).itemsize)
814
822
  assert nbytes >= 0, f"nbytes = {nbytes} is negative, type(nbytes) = {type(nbytes)}, please check if overflow happens"
823
+
824
+ if _MAX_MEMORY is not None:
825
+ mem_used = lib.current_memory()[0] # in MB
826
+ mem_limit = float(_MAX_MEMORY)
827
+ if nbytes*1e-6 + mem_used > mem_limit:
828
+ raise MemoryError(
829
+ f'Cannot allocate {nbytes} bytes of host memory '
830
+ f'(current: {mem_used:.1f} MB, limit: {mem_limit:.1f} MB).')
831
+
815
832
  mem = cupy.cuda.PinnedMemoryPointer(
816
833
  cupy.cuda.PinnedMemory(nbytes, cupy.cuda.runtime.hostAllocMapped), 0)
817
834
  out = np.ndarray(shape, dtype=dtype, buffer=mem, order=order)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: gpu4pyscf
3
- Version: 1.7.2
3
+ Version: 1.7.4
4
4
  Summary: GPU extensions for PySCF
5
5
  Author: PySCF developers
6
6
  License: Apache-2.0
File without changes
File without changes
File without changes
File without changes
File without changes