[Mpi-forum] MPI_T Events für Request Completion Callbacks

Joseph Schuchart schuchart at hlrs.de
Mon Nov 25 08:43:43 CST 2019


Hallo Marc-André,

Jannis und ich hatten uns auf der SC kurz über MPI und Task-basierte 
Programmiermodelle ausgetauscht. Wir sind uns mehr oder wenig einig, 
dass MPI ein Interface braucht, das es dem Nutzer erlaubt asynchron über 
den Abschluss von Operationen hinter einem Requests benachrichtigt zu 
werden (sprich, ohne bzw bevor das Test/Wait auf dem Request aufgerufen 
wird). Jannis (und ich glaube auch Martin) hatte in dem Kontext das 
MPI_T Event Interface erwähnt um über die Events eine Benachrichtigung 
zu bekommen. Da du leider nicht da warst wollten wir dich mal in die 
Diskussion aufnehmen und fragen was mit den Events möglich ist:

1) Aynchrone Benachrichtigung über einen Callback sobald der Request als 
completed erkannt wird?
2) Irgendeine Art von Nutzdaten die man an MPI übergeben kann und die 
dann an den Callback übergeben werden?
3) Eine Garantie wann der Callback ausgeführt wird? (nicht zwingend 
nötig, "immediately" wäre aber schön ^^)

Punkt 2 ist wichtig um zu vermeiden, dass die Anwendung zB ein Mapping 
von Request auf das Objekt halten muss das von dem Request abhängt, zB 
ein Task. Das würde mMn viel von den Vorteilen zunichte machen weil die 
Anwendung dann wieder Speicher allokieren und sich um Locking etc 
kümmern muss.

Aktuell schwebt mir sowas hier vor:

```
void completion_cb(void *data)
{
   omp_event_handle_t *event = (omp_event_handle_t*)data;
   omp_fulfill_event(*event);
}

[...]

omp_event_handle_t event;

#pragma omp task detach(event)
{
   MPI_Request req;
   MPI_Isend(..., &req);
   MPI_Request_on_completion(request, &completion_cb, &event);
}
```

Ich arbeite gerade an einem Prototypen in Open MPI. Wenn sich das so 
oder so ähnlich aber mit den MPI_T Events lösen lässt wäre es natürlich 
umso besser. Ich glaube aber, dass Punkt 2 der Knackpunkt ist, oder?


Best Grüße
Joseph
-- 
Dipl.-Inf. Joseph Schuchart
High Performance Computing Center Stuttgart (HLRS)
Nobelstr. 19
D-70569 Stuttgart

Tel.: +49(0)711-68565890
Fax: +49(0)711-6856832
E-Mail: schuchart at hlrs.de


More information about the mpi-forum mailing list