-
Notifications
You must be signed in to change notification settings - Fork 109
Closed
Description
The otherwise very useful (get-*-point r) methods, e.g. (get-field-point r), do not work with MPI since the method get_val doesn't have an MPI implementation.
This is already nicely noted by an error message:
Lines 571 to 572 in 47f68c2
| #ifdef HAVE_MPI | |
| CHECK(0, "get-*-point not yet implemented for MPI!"); |
How painful would it be to implement this functionality? I'm assuming the difficulty lies in locating which local process owns the ix index?
This is pretty much guesswork on my part, as I don't know MPI, but, conceptually, would this involve something like:
int ixp = ix - local_x_start
if (ixp >= 0 && ixp < local_nx)
// assign data[(((ixp * ny) + iy) * nz + iz) * stride] to a process buffer
else
// assign zero to the (same) process buffer
// reduce over buffer and return value?
Best regards,
Thomas
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels