35 const int global_dim,
const W local_work,
const W remote_work,
36 const T local_size,
const T remote_size,
const T gamma,
45 if (remote_rank != MPI_PROC_NULL && local_coord != global_dim - 1 &&
46 !(remote_work == (T)0 && local_work == (T)0)) {
47 shift = 1.0 / gamma * 0.5 * (remote_work - local_work) /
48 (remote_work + local_work) * (local_size + remote_size);
55 maxmove = 0.49 * (remote_size - minSize);
57 maxmove = 0.49 * (local_size - minSize);
59 if (std::abs(shift) > maxmove) {
60 shift = (shift < 0.0) ? -maxmove : maxmove;