Skip to content

Commit

Permalink
tune
Browse files Browse the repository at this point in the history
  • Loading branch information
lehner committed Sep 26, 2024
1 parent 4a473d5 commit 833cb2c
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 26 deletions.
17 changes: 16 additions & 1 deletion lib/gpt/core/foundation/lattice/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,22 @@ def rank_inner_product(a, b, use_accelerator):


def inner_product(a, b, use_accelerator):
return a[0].grid.globalsum(rank_inner_product(a, b, use_accelerator))
t = gpt.timer("inner_product")
gpt.barrier()
t("rank inner product")
rip = rank_inner_product(a, b, use_accelerator)
t("barrier")
gpt.barrier()
t("global sum")
rip2 = numpy.array(rip)
gs = a[0].grid.globalsum(rip)
t("barrier")
gpt.barrier()
t("reduce")
gs2 = a[0].grid.reduce(rip2, lambda a, b: a.__iadd__(b))
t()
gpt.message(t, gs, gs2)
return gs


def norm2(l):
Expand Down
3 changes: 2 additions & 1 deletion lib/gpt/core/grid.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,10 @@ def global_sum_default(grid, x):
if isinstance(x, np.ndarray):
return grid.reduce(x, lambda a, b: a.__iadd__(b))
elif gpt.util.is_num(x):
t = type(x)
x = np.array([x], dtype=np.complex128)
global_sum_default(grid, x)
return gpt.util.to_num(x[0])
return t(x[0])
else:
raise Exception(f"Unknown data type in global sum: {type(x)}")

Expand Down
32 changes: 8 additions & 24 deletions lib/gpt/qcd/fermion/register.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,24 @@ def register(reg, op):
reg.Mdiag = lambda dst, src: op.apply_unary_operator(2009, dst, src)
reg.Dminus = lambda dst, src: op.apply_unary_operator(2010, dst, src)
reg.DminusDag = lambda dst, src: op.apply_unary_operator(2011, dst, src)
reg.ImportPhysicalFermionSource = lambda dst, src: op.apply_unary_operator(
2012, dst, src
)
reg.ImportUnphysicalFermion = lambda dst, src: op.apply_unary_operator(
2013, dst, src
)
reg.ExportPhysicalFermionSolution = lambda dst, src: op.apply_unary_operator(
2014, dst, src
)
reg.ExportPhysicalFermionSource = lambda dst, src: op.apply_unary_operator(
2015, dst, src
)
reg.ImportPhysicalFermionSource = lambda dst, src: op.apply_unary_operator(2012, dst, src)
reg.ImportUnphysicalFermion = lambda dst, src: op.apply_unary_operator(2013, dst, src)
reg.ExportPhysicalFermionSolution = lambda dst, src: op.apply_unary_operator(2014, dst, src)
reg.ExportPhysicalFermionSource = lambda dst, src: op.apply_unary_operator(2015, dst, src)
reg.Dhop = lambda dst, src: op.apply_unary_operator(3001, dst, src)
reg.DhopDag = lambda dst, src: op.apply_unary_operator(4001, dst, src)
reg.DhopEO = lambda dst, src: op.apply_unary_operator(3002, dst, src)
reg.DhopEODag = lambda dst, src: op.apply_unary_operator(4002, dst, src)
reg.Mdir = lambda dst, src, dir, disp: op.apply_dirdisp_operator(
5001, dst, src, dir, disp
)
reg.Mdir = lambda dst, src, dir, disp: op.apply_dirdisp_operator(5001, dst, src, dir, disp)
reg.MDeriv = lambda mat, dst, src: op.apply_deriv_operator(6001, mat, dst, src)
reg.MDerivDag = lambda mat, dst, src: op.apply_deriv_operator(7001, mat, dst, src)
reg.MoeDeriv = lambda mat, dst, src: op.apply_deriv_operator(6002, mat, dst, src)
reg.MoeDerivDag = lambda mat, dst, src: op.apply_deriv_operator(7002, mat, dst, src)
reg.MeoDeriv = lambda mat, dst, src: op.apply_deriv_operator(6003, mat, dst, src)
reg.MeoDerivDag = lambda mat, dst, src: op.apply_deriv_operator(7003, mat, dst, src)
reg.DhopDeriv = lambda mat, dst, src: op.apply_deriv_operator(6004, mat, dst, src)
reg.DhopDerivDag = lambda mat, dst, src: op.apply_deriv_operator(
7004, mat, dst, src
)
reg.DhopDerivDag = lambda mat, dst, src: op.apply_deriv_operator(7004, mat, dst, src)
reg.DhopDerivEO = lambda mat, dst, src: op.apply_deriv_operator(6005, mat, dst, src)
reg.DhopDerivEODag = lambda mat, dst, src: op.apply_deriv_operator(
7005, mat, dst, src
)
reg.DhopDerivEODag = lambda mat, dst, src: op.apply_deriv_operator(7005, mat, dst, src)
reg.DhopDerivOE = lambda mat, dst, src: op.apply_deriv_operator(6006, mat, dst, src)
reg.DhopDerivOEDag = lambda mat, dst, src: op.apply_deriv_operator(
7006, mat, dst, src
)
reg.DhopDerivOEDag = lambda mat, dst, src: op.apply_deriv_operator(7006, mat, dst, src)

0 comments on commit 833cb2c

Please sign in to comment.