[libfabric-users] FI_CONNECTED question

Biddiscombe, John A. biddisco at cscs.ch
Wed Feb 22 09:37:53 PST 2017

I found a/the solution.

When I call fi_connect, I add an id (pointer to endpoint) to the user data
When the passive end receives the connect request, it gets the user data and when it calls fi_accept, it returns the same data
When I receive the connected event back on the origin node, I can access user data again and cast it back to an endpoint pointer (seems a bit long winded, but it works at least). This gives me the correct endpoint for the origin of the connect request.

Sorry for the noise


-----Original Message-----
From: Libfabric-users [mailto:libfabric-users-bounces at lists.openfabrics.org] On Behalf Of Biddiscombe, John A.
Sent: 22 February 2017 16:50
To: libfabric-users at lists.openfabrics.org
Subject: [libfabric-users] FI_CONNECTED question

If I have N threads all making connections to remote endpoints, I poll the event queue (shared between all active endpoints making the connections).
How do I get the endpoint from the FI_CONNECTED event that tells me which connection the event is referring to?

When I receive an  FI_CONNREQ event, I can get the dest_addr from the info, but the FI_CONNECTED always has nullptr there so I can’t use that to cross reference a list of my connection attempts.

Ideally, I’d like to get the fid_ep * from the CONNECTED event so that I then start using that endpoint, but I can’t find a way of getting that information. (with a single thread, I ‘know’ which endpoint last started a connection attempt – or accepted a connection request, but with many, I do not).

How should it be done?



John Biddiscombe,                        email:biddisco @.at.@ cscs.ch
CSCS, Swiss National Supercomputing Centre  | Tel:  +41 (91) 610.82.07
Via Trevano 131, 6900 Lugano, Switzerland   | Fax:  +41 (91) 610.82.82

Libfabric-users mailing list
Libfabric-users at lists.openfabrics.org

More information about the Libfabric-users mailing list