Questions tagged [mpi-rma]

This tag should be used for questions concerning the one-sided communication mode of MPI, also known as MPI RMA.

MPI RMA (Remote Memory Access) allows MPI ranks to make use of one-sided get/set/operate semantics and access directly certain parts of the memory space of other ranks instead of exchanging data with those via the classical send/receive message passing.

26 questions
1
vote
0 answers

MPI_Put for distributed data

I am trying to use MPI-2 features for one sided communication to write a program for distributed hash table. Each process exposes a memory (B) to all others at the start. Then, hopefully, each process can access the other's memory without…
danny
  • 1,101
  • 1
  • 12
  • 34
1
vote
1 answer

order issue in sychronizing MPI-2 one sided communication

I am learning MPI-2 and trying to implement the first simple functionality using MPI-2 one-sided-communication: Have process 0 host one array of fixed size data_size. Each process (including 0) will generate an array and compare with the host…
thor
  • 21,418
  • 31
  • 87
  • 173
1
vote
1 answer

MPI2 / MPI3: MPI_allgather vs MPI one sided communication considering synchronization

I am writing an optimization program using MPI-2, in which I need to have a std::vector of equal length std::vectors (conceptually), shared among all processes. This vector holds the best k solutions to the problem currently found, and is updated…
thor
  • 21,418
  • 31
  • 87
  • 173
1
vote
1 answer

MPI RMA create windows for ghost cells in a multidimensional array

if I have a array A[100][100][100], How I create a window for remote memory access for the six edge subarrays (ghost cells) especially for A[0][:][:] and A[100][:][:]. In MPI-1,I create vector type to send/recv ghost cells. In MPI-2 and -3, do I…
ubc_ben
  • 163
  • 1
  • 10
0
votes
1 answer

Using MPI_PUT in fortran and different ranks have different displacements using c_loc

I have MPI ranks split up to calculate different parts an an array, then I want to put/send those slices onto a different rank that doesn't participate in the calculation. That rank is the master of a new communicator set up to do other things with…
byrdman1982
  • 109
  • 7
0
votes
1 answer

Single-Sided communications with MPI-2

Consider the following fragment of OpenMP code which transfers private data between two threads using an intermediate shared variable #pragma omp parallel shared(x) private(a,b) { ... a = somefunction(b); if (omp_get_thread_num() == 0) { …
Manolete
  • 3,431
  • 7
  • 54
  • 92
0
votes
0 answers

MPI Remote Access Memory

About the Remote Access Memory in MPI 3.0, there are two communication calls: MPI_Put and MPI_Get. I use the following to put the local data to shared memory (for illustration, I copied some statements from…
flame
  • 1
0
votes
0 answers

MPI_Win_fence hangs

I have implemented a kind of distributed array for a specific application using MPI. I have tried to use RMA (MPI_Get) to get updated values for the portion of the array which is under responsibility of other processes. We have done what is…
0
votes
1 answer

issues in sychronizing a single int value with MPI-2 one sided communication

In a (series of) attempt to learn MPI-2 one-sided-communication, I am testing the following code, in which I store one fundamental type value such as int in the master process, and expose it to all other processes. Now what I do with the integer is…
thor
  • 21,418
  • 31
  • 87
  • 173
0
votes
1 answer

Calling a variable from another processor

I am writing a parallel program in Fortran77. I have the following problem: I have N number of processors. Each processor contains an array A of size S. Using some function, on every processor (say rank X), I calculate the value of two integers Y…
Pradeep Kumar Jha
  • 877
  • 4
  • 15
  • 30
0
votes
2 answers

In MPI, lock stdout for error messages

My program can generate error messages on certain MPI ranks when an error condition is met. However, it is possible that this condition is met only on some (but not all) ranks. I want to output a message from the first rank that encounters the error…
1
2