PyQUDA-Utils 0.10.8.dev1__tar.gz → 0.10.8.dev5__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 (45) hide show
  1. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/PKG-INFO +1 -1
  2. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/PyQUDA_Utils.egg-info/PKG-INFO +1 -1
  3. pyquda_utils-0.10.8.dev5/pyquda_utils/_version.py +1 -0
  4. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/core.py +10 -6
  5. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/deprecated.py +9 -2
  6. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/quasi_axial_gauge_fixing.py +7 -7
  7. pyquda_utils-0.10.8.dev1/pyquda_utils/_version.py +0 -1
  8. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/LICENSE +0 -0
  9. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/MANIFEST.in +0 -0
  10. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/PyQUDA_Utils.egg-info/SOURCES.txt +0 -0
  11. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/PyQUDA_Utils.egg-info/dependency_links.txt +0 -0
  12. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/PyQUDA_Utils.egg-info/entry_points.txt +0 -0
  13. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/PyQUDA_Utils.egg-info/requires.txt +0 -0
  14. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/PyQUDA_Utils.egg-info/top_level.txt +0 -0
  15. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/README.md +0 -0
  16. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyproject.toml +0 -0
  17. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/__init__.py +0 -0
  18. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/_field_utils.py +0 -0
  19. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/_mpi_file.py +0 -0
  20. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/chroma.py +0 -0
  21. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/io_general.py +0 -0
  22. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/kyu.py +0 -0
  23. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/lime.py +0 -0
  24. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/milc.py +0 -0
  25. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/nersc.py +0 -0
  26. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/npy.py +0 -0
  27. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/openqcd.py +0 -0
  28. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_io/xqcd.py +0 -0
  29. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_plugins/__main__.py +0 -0
  30. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_plugins/plugin_pyx.py +0 -0
  31. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_plugins/pygwu/__init__.py +0 -0
  32. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/__init__.py +0 -0
  33. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/alg_remez.py +0 -0
  34. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/convert.py +0 -0
  35. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/eigensolve.py +0 -0
  36. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/gamma.py +0 -0
  37. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/gauge_nd_sun.py +0 -0
  38. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/gpt.py +0 -0
  39. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/hmc_param.py +0 -0
  40. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/io/__init__.py +0 -0
  41. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/milc_rhmc_param.py +0 -0
  42. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/phase.py +0 -0
  43. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/pyquda_utils/source.py +0 -0
  44. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/setup.cfg +0 -0
  45. {pyquda_utils-0.10.8.dev1 → pyquda_utils-0.10.8.dev5}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyQUDA-Utils
3
- Version: 0.10.8.dev1
3
+ Version: 0.10.8.dev5
4
4
  Summary: Utility scripts based on PyQUDA
5
5
  Author-email: SaltyChiang <SaltyChiang@users.noreply.github.com>
6
6
  Maintainer-email: SaltyChiang <SaltyChiang@users.noreply.github.com>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyQUDA-Utils
3
- Version: 0.10.8.dev1
3
+ Version: 0.10.8.dev5
4
4
  Summary: Utility scripts based on PyQUDA
5
5
  Author-email: SaltyChiang <SaltyChiang@users.noreply.github.com>
6
6
  Maintainer-email: SaltyChiang <SaltyChiang@users.noreply.github.com>
@@ -0,0 +1 @@
1
+ __version__ = "0.10.8.dev5"
@@ -47,12 +47,11 @@ from pyquda.field import ( # noqa: F401
47
47
  LatticeStaggeredPropagator,
48
48
  lexico,
49
49
  evenodd,
50
- evenodd as cb2,
51
50
  )
52
51
  from pyquda.dirac.abstract import Multigrid, FermionDirac, StaggeredFermionDirac
53
52
 
54
53
  from . import source
55
- from .deprecated import smear, smear4, invert12, getDslash, getStaggeredDslash
54
+ from .deprecated import smear, smear4, invert12, getDslash, getStaggeredDslash, cb2
56
55
 
57
56
  LaplaceLatticeInfo = LatticeInfo
58
57
 
@@ -128,10 +127,7 @@ def invertStaggeredPropagator(
128
127
 
129
128
 
130
129
  def gatherLattice2(
131
- data: numpy.ndarray,
132
- tzyx: List[int],
133
- reduce_op: Literal["sum", "mean", "prod", "max", "min"] = "sum",
134
- root: int = 0,
130
+ data: numpy.ndarray, tzyx: List[int], reduce_op: Literal["sum", "mean", "prod", "max", "min"] = "sum", root: int = 0
135
131
  ):
136
132
  sendobj = numpy.ascontiguousarray(data)
137
133
  recvobj = getMPIComm().gather(sendobj, root)
@@ -204,6 +200,14 @@ def scatterLattice(data: numpy.ndarray, tzyx: List[int], root: int = 0):
204
200
  return recvobj
205
201
 
206
202
 
203
+ def gatherScatterLattice(
204
+ data: numpy.ndarray, tzyx: List[int], reduce_op: Literal["sum", "mean", "prod", "max", "min"] = "sum", root: int = 0
205
+ ):
206
+ data = gatherLattice2(data, tzyx, reduce_op, root)
207
+ data = scatterLattice(data, tzyx, root)
208
+ return data
209
+
210
+
207
211
  def gatherLattice(data: numpy.ndarray, axes: List[int], reduce_op: Literal["sum", "mean"] = "sum", root: int = 0):
208
212
  """
209
213
  MPI gather or reduce data from all MPI subgrid onto the root process.
@@ -1,10 +1,17 @@
1
- from typing import List
1
+ from typing import Any, List
2
+
3
+ import numpy
2
4
 
3
5
  from pyquda import getLogger, getGridSize, pyquda as quda, enum_quda
4
- from pyquda.field import LatticeFermion, LatticeGauge, LatticeInfo, LatticePropagator, Nc, Ns
6
+ from pyquda.field import LatticeFermion, LatticeGauge, LatticeInfo, LatticePropagator, Nc, Ns, evenodd
5
7
  from pyquda.dirac.abstract import FermionDirac
6
8
 
7
9
 
10
+ def cb2(data: numpy.ndarray, axes: List[int], dtype=None):
11
+ getLogger().warning("Use evenodd instead", DeprecationWarning)
12
+ return evenodd(data, axes, dtype)
13
+
14
+
8
15
  def smear(latt_size: List[int], gauge: LatticeGauge, nstep: int, rho: float):
9
16
  getLogger().warning("Use GaugeField.stoutSmear instead", DeprecationWarning)
10
17
  from .core import getDslash
@@ -1,6 +1,6 @@
1
1
  import numpy as np
2
2
 
3
- from .core import getRankFromCoord, evenodd, LatticeLink, LatticeGauge, LatticeFermion, X, Y, Z, T
3
+ from .core import getRankFromCoord, evenodd, LatticeGauge, LatticeFermion, X, Y, Z, T
4
4
 
5
5
 
6
6
  def quasiAxialGaugeFixing(gauge: LatticeGauge, dir: int):
@@ -57,14 +57,14 @@ def quasiAxialGaugeFixing(gauge: LatticeGauge, dir: int):
57
57
  rotate[0] = contract("xab,xb->xab", v, cupy.exp(1j * (gi * Li) / GLi * w))
58
58
  for i in range(1, Li):
59
59
  rotate[i] = contract("xba,xbc,xc->xac", gauge_prod[i - 1].conj(), v, cupy.exp(1j * (i + gi * Li) / GLi * w))
60
- rotate = LatticeLink(gauge.latt_info, evenodd(rotate.reshape(*axes_shape).transpose(*axes).get(), [0, 1, 2, 3]))
60
+ rotate = LatticeGauge(gauge.latt_info, 1, evenodd(rotate.reshape(*axes_shape).transpose(*axes).get(), [0, 1, 2, 3]))
61
61
  rotate.toDevice()
62
62
  rotate_ = LatticeFermion(gauge.latt_info)
63
- rotate.pack(rotate_)
63
+ rotate.pack(0, rotate_)
64
64
  gauge.data = contract("wtzyxba,dwtzyxbc->dwtzyxac", rotate.data.conj(), gauge.data)
65
65
  gauge.gauge_dirac.loadGauge(gauge)
66
- gauge[X].unpack(gauge.gauge_dirac.covDev(rotate_, X))
67
- gauge[Y].unpack(gauge.gauge_dirac.covDev(rotate_, Y))
68
- gauge[Z].unpack(gauge.gauge_dirac.covDev(rotate_, Z))
69
- gauge[T].unpack(gauge.gauge_dirac.covDev(rotate_, T))
66
+ gauge.unpack(X, gauge.gauge_dirac.covDev(rotate_, X))
67
+ gauge.unpack(Y, gauge.gauge_dirac.covDev(rotate_, Y))
68
+ gauge.unpack(Z, gauge.gauge_dirac.covDev(rotate_, Z))
69
+ gauge.unpack(T, gauge.gauge_dirac.covDev(rotate_, T))
70
70
  return rotate
@@ -1 +0,0 @@
1
- __version__ = "0.10.8.dev1"