Skip to content

Commit 3d290bb

Browse files
committed
fix Grid rank checking
1 parent 757cdff commit 3d290bb

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

src/grid/GridDefs.nim

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,11 @@ proc newGridLatticeGaugeField*(x: ptr GridCartesian):
102102
template gauge*(x: GridCartesian): untyped =
103103
newGridLatticeGaugeField(unsafeaddr x)
104104

105+
proc ThisRank*(x: GridBase): int =
106+
var r = 0
107+
{.emit:[r," = ",x,"->ThisRank();"].}
108+
r
109+
105110
proc lSites*(x: ptr GridBase): cint {.importcpp,gh.}
106111
proc RankIndexToGlobalCoor*(g: GridBase, rank,oixd,iidx: SomeInteger; coord: Coordinate) {.importcpp.}
107112

src/grid/GridUtils.nim

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ template getGridPtr*(g: Field): auto =
88
let simd_layout = GridDefaultSimd(lo.nDim, Nsimd(GridVComplex))
99
let mpi_layout = newCoordinate(lo.rankGeom)
1010
let grid = newGridCartesian(latt_size,simd_layout,mpi_layout)
11-
var coor = newSeq[cint](lo.nDim)
12-
var gcoor = newCoordinate(coor)
13-
grid.RankIndexToGlobalCoor(lo.myrank, 0, 0, gcoor)
14-
coor := gcoor
15-
let ri = lo.rankIndex(coor)
16-
#echoAll lo.myrank, ": ", coor
17-
if ri.rank != lo.myrank:
11+
#var coor = newSeq[cint](lo.nDim)
12+
#var gcoor = newCoordinate(coor)
13+
#grid.RankIndexToGlobalCoor(lo.myrank, 0, 0, gcoor)
14+
#coor := gcoor
15+
#let ri = lo.rankIndex(coor)
16+
#echoAll lo.myrank, ": ThisRank=",grid.ThisRank, ": ", coor
17+
if grid.ThisRank != lo.myrank:
1818
qexFatal "Grid rank and QEX rank disagree"
1919
unsafeAddr grid
2020

0 commit comments

Comments
 (0)