You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Heterogeneous machines will need to have different local grid sizes to help balance load. We can support varying grid sizes as long as dimensions are compatible across local grid faces.
The text was updated successfully, but these errors were encountered:
Heterogeneous machines will need to have different local grid sizes to
help balance load. This commit includes new variables that remove the
assumption of uniform local grids across all ranks. These new
variables (gnx, gny, gnz,gix0, giy0, giz0) are defined in
GenerateGeometry(). This commit is a partial step to addressing issue
#46.
The first version of this feature will work for a 2-block partition of the z processor dimension. It works by specifying three new arguments to the xhpcg command:
--pz - the starting z-dimension process ID for the second block.
--zl - the value of nz in the lower block of the z processor dimension
--zu - the value of nz in the upper block
where nz is the local grid dimension in the z-dimension.
Example: If running on 1000 MPI processes, the processor grid would be 10 by 10 by 10. If you want to have different sizes for nz so that you could balance the load on a heterogeneous machine, such that nz is 64 in the lower block and 128 in the upper block, use
--pz=5 --zl=64 --zu=128
You will also need to launch the MPI program in MPMD mode passing in the compatible values for nz in both the lower and upper block. This is perhaps some tedious bookkeeping but should work.
Heterogeneous machines will need to have different local grid sizes to help balance load. We can support varying grid sizes as long as dimensions are compatible across local grid faces.
The text was updated successfully, but these errors were encountered: