PyQUDA-Utils 0.9.9.dev4__tar.gz → 0.9.9.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.
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/PKG-INFO +1 -1
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/PyQUDA_Utils.egg-info/PKG-INFO +1 -1
- pyquda_utils-0.9.9.dev5/pyquda_utils/_version.py +1 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/__init__.py +17 -9
- pyquda_utils-0.9.9.dev5/pyquda_utils/io/openqcd.py +58 -0
- pyquda_utils-0.9.9.dev4/pyquda_utils/_version.py +0 -1
- pyquda_utils-0.9.9.dev4/pyquda_utils/io/openqcd.py +0 -39
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/LICENSE +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/MANIFEST.in +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/PyQUDA_Utils.egg-info/SOURCES.txt +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/PyQUDA_Utils.egg-info/dependency_links.txt +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/PyQUDA_Utils.egg-info/requires.txt +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/PyQUDA_Utils.egg-info/top_level.txt +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/README.md +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyproject.toml +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/__init__.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/convert.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/core.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/deprecated.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/gamma.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/gpt.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/hmc_param.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/chroma.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/io_general.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/kyu.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/lime.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/milc.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/nersc.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/npy.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/io/xqcd.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/milc_rhmc_param.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/phase.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/quasi_axial_gauge_fixing.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/source.py +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/setup.cfg +0 -0
- {pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.9.9.dev5"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import List,
|
|
1
|
+
from typing import List, Union
|
|
2
2
|
|
|
3
3
|
import numpy
|
|
4
4
|
|
|
@@ -218,20 +218,28 @@ def writeNPYPropagator(filename: str, propagator: LatticePropagator):
|
|
|
218
218
|
write(filename, propagator.latt_info.global_size, propagator.lexico())
|
|
219
219
|
|
|
220
220
|
|
|
221
|
-
def readOpenQCDGauge(filename: str
|
|
221
|
+
def readOpenQCDGauge(filename: str):
|
|
222
|
+
from pyquda.field import X, Y, Z, T
|
|
222
223
|
from .openqcd import readGauge as read
|
|
223
224
|
|
|
224
|
-
latt_size, plaquette,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
225
|
+
latt_size, plaquette, gauge_ = read(filename)
|
|
226
|
+
gauge_ = LatticeGauge(LatticeInfo(latt_size), gauge_)
|
|
227
|
+
gauge_.toDevice()
|
|
228
|
+
gauge = gauge_.shift([X, Y, Z, T])
|
|
229
|
+
gauge.data[:, 1] = gauge_.data[:, 0]
|
|
230
|
+
assert numpy.isclose(gauge.plaquette()[0], plaquette)
|
|
231
|
+
return gauge
|
|
229
232
|
|
|
230
233
|
|
|
231
|
-
def writeOpenQCDGauge(filename: str, gauge: LatticeGauge
|
|
234
|
+
def writeOpenQCDGauge(filename: str, gauge: LatticeGauge):
|
|
235
|
+
from pyquda.field import X, Y, Z, T
|
|
232
236
|
from .openqcd import writeGauge as write
|
|
233
237
|
|
|
234
|
-
|
|
238
|
+
gauge.toDevice()
|
|
239
|
+
plaquette = gauge.plaquette()[0]
|
|
240
|
+
gauge_ = gauge.shift([-X, -Y, -Z, -T])
|
|
241
|
+
gauge_.data[:, 0] = gauge.data[:, 1]
|
|
242
|
+
write(filename, gauge.latt_info.global_size, plaquette, gauge_.getHost())
|
|
235
243
|
|
|
236
244
|
|
|
237
245
|
def readNERSCGauge(filename: str, return_plaquette: bool = False, link_trace: bool = True, checksum: bool = True):
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
from os import path
|
|
2
|
+
import struct
|
|
3
|
+
from typing import List
|
|
4
|
+
|
|
5
|
+
import numpy
|
|
6
|
+
|
|
7
|
+
from pyquda import getSublatticeSize, getMPIRank, getMPIComm, readMPIFile, writeMPIFile
|
|
8
|
+
|
|
9
|
+
Nd, Ns, Nc = 4, 4, 3
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def readGauge(filename: str):
|
|
13
|
+
filename = path.expanduser(path.expandvars(filename))
|
|
14
|
+
with open(filename, "rb") as f:
|
|
15
|
+
latt_size = struct.unpack("<iiii", f.read(16))[::-1]
|
|
16
|
+
plaquette = struct.unpack("<d", f.read(8))[0] / Nc
|
|
17
|
+
offset = f.tell()
|
|
18
|
+
Lx, Ly, Lz, Lt = getSublatticeSize(latt_size)
|
|
19
|
+
dtype = "<c16"
|
|
20
|
+
|
|
21
|
+
gauge_reorder = readMPIFile(filename, dtype, offset, (Lt, Lx, Ly, Lz // 2, Nd, 2, Nc, Nc), (1, 2, 3, 0))
|
|
22
|
+
|
|
23
|
+
gauge = numpy.zeros((Nd, 2, Lt, Lz, Ly, Lx // 2, Nc, Nc), dtype="<c16")
|
|
24
|
+
for t in range(Lt):
|
|
25
|
+
for y in range(Ly):
|
|
26
|
+
for z in range(Lz):
|
|
27
|
+
for x in range(Lx // 2):
|
|
28
|
+
x_ = 2 * x + (1 - (t + z + y) % 2)
|
|
29
|
+
z_ = z // 2
|
|
30
|
+
gauge[[3, 0, 1, 2], :, t, z, y, x, :, :] = gauge_reorder[t, x_, y, z_]
|
|
31
|
+
|
|
32
|
+
gauge = gauge.astype("<c16")
|
|
33
|
+
return latt_size, plaquette, gauge
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def writeGauge(filename: str, latt_size: List[int], plaquette: float, gauge: numpy.ndarray):
|
|
37
|
+
filename = path.expanduser(path.expandvars(filename))
|
|
38
|
+
Lx, Ly, Lz, Lt = getSublatticeSize(latt_size)
|
|
39
|
+
dtype, offset = "<c16", None
|
|
40
|
+
|
|
41
|
+
gauge_reorder = numpy.zeros((Lt, Lx, Ly, Lz // 2, Nd, 2, Nc, Nc), dtype="<c16")
|
|
42
|
+
for t in range(Lt):
|
|
43
|
+
for y in range(Ly):
|
|
44
|
+
for z in range(Lz):
|
|
45
|
+
for x in range(Lx // 2):
|
|
46
|
+
x_ = 2 * x + (1 - (t + z + y) % 2)
|
|
47
|
+
z_ = z // 2
|
|
48
|
+
gauge_reorder[t, x_, y, z_] = gauge[[3, 0, 1, 2], :, t, z, y, x, :, :]
|
|
49
|
+
|
|
50
|
+
gauge = gauge_reorder.astype(dtype)
|
|
51
|
+
if getMPIRank() == 0:
|
|
52
|
+
with open(filename, "wb") as f:
|
|
53
|
+
f.write(struct.pack("<iiii", *latt_size[::-1]))
|
|
54
|
+
f.write(struct.pack("<d", plaquette * Nc))
|
|
55
|
+
offset = f.tell()
|
|
56
|
+
offset = getMPIComm().bcast(offset)
|
|
57
|
+
|
|
58
|
+
writeMPIFile(filename, dtype, offset, (Lt, Lx, Ly, Lz // 2, Nd, 2, Nc, Nc), (1, 2, 3, 0), gauge)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.9.9.dev4"
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
from os import path
|
|
2
|
-
import struct
|
|
3
|
-
from typing import List
|
|
4
|
-
|
|
5
|
-
import numpy
|
|
6
|
-
|
|
7
|
-
from pyquda import getSublatticeSize, getMPIRank, getMPIComm, readMPIFile, writeMPIFile
|
|
8
|
-
|
|
9
|
-
Nd, Ns, Nc = 4, 4, 3
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def readGauge(filename: str):
|
|
13
|
-
filename = path.expanduser(path.expandvars(filename))
|
|
14
|
-
with open(filename, "rb") as f:
|
|
15
|
-
latt_size = struct.unpack("<iiii", f.read(16))[::-1]
|
|
16
|
-
plaquette = struct.unpack("<d", f.read(8))[0] / Nc
|
|
17
|
-
offset = f.tell()
|
|
18
|
-
Lx, Ly, Lz, Lt = getSublatticeSize(latt_size)
|
|
19
|
-
dtype = "<c16"
|
|
20
|
-
|
|
21
|
-
gauge = readMPIFile(filename, dtype, offset, (Lt, Lz, Ly, Lx, Nd, Nc, Nc), (3, 2, 1, 0))
|
|
22
|
-
gauge = gauge.transpose(4, 0, 1, 2, 3, 5, 6).astype("<c16")
|
|
23
|
-
return latt_size, plaquette, gauge
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
def writeGauge(filename: str, latt_size: List[int], plaquette: float, gauge: numpy.ndarray):
|
|
27
|
-
filename = path.expanduser(path.expandvars(filename))
|
|
28
|
-
Lx, Ly, Lz, Lt = latt_size
|
|
29
|
-
dtype, offset = "<c16", None
|
|
30
|
-
|
|
31
|
-
gauge = numpy.ascontiguousarray(gauge.transpose(1, 2, 3, 4, 0, 5, 6).astype(dtype))
|
|
32
|
-
if getMPIRank() == 0:
|
|
33
|
-
with open(filename, "wb") as f:
|
|
34
|
-
f.write(struct.pack("<iiii", *latt_size[::-1]))
|
|
35
|
-
f.write(struct.pack("<d", plaquette * Nc))
|
|
36
|
-
offset = f.tell()
|
|
37
|
-
offset = getMPIComm().bcast(offset)
|
|
38
|
-
|
|
39
|
-
writeMPIFile(filename, dtype, offset, (Lt, Lz, Ly, Lx, Nd, Nc, Nc), (3, 2, 1, 0), gauge)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/PyQUDA_Utils.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyquda_utils-0.9.9.dev4 → pyquda_utils-0.9.9.dev5}/pyquda_utils/quasi_axial_gauge_fixing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|