Opened 12 years ago

Closed 12 years ago

#4695 closed Feature Requests (wontfix)

Exposing packed_iarchive::position()

Reported by: astukalov@… Owned by: Matthias Troyer
Milestone: Boost 1.46.0 Component: mpi
Version: Boost 1.44.0 Severity: Optimization
Keywords: Cc:

Description

I'm transferring variable number of packed objects (of same datatype) using isend/recv. (I'm new to MPI, so I might be wrong -- but is it true that for multiple isends with the same message tag the received message would contain a concatenation?)

Then I'm reading objects out of the buffer using packed_iarchive. Because their number is not known, I need a way to know if I read all objects from archive. packed_iprimitive already has position field.

Is it worth to make position() publicly accessible? The patch against trunk is attached.

Attachments (1)

iprimitive_position.diff (2.2 KB ) - added by astukalov@… 12 years ago.
add position() to packed_iprimitive and binary_buffer_iprimitive

Download all attachments as: .zip

Change History (5)

by astukalov@…, 12 years ago

Attachment: iprimitive_position.diff added

add position() to packed_iprimitive and binary_buffer_iprimitive

comment:1 by astukalov@…, 12 years ago

Type: BugsFeature Requests

comment:2 by Matthias Troyer, 12 years ago

Owner: changed from Douglas Gregor to Matthias Troyer
Status: newassigned

comment:3 by Matthias Troyer, 12 years ago

Milestone: To Be DeterminedBoost-1.46.0

comment:4 by Matthias Troyer, 12 years ago

Resolution: wontfix
Status: assignedclosed

No, the messages will not be concatenated but each one will have to be received separately by MPI. When you packed the elements you know how many have arrived. a call to probe() returns a status object that contains the number of elements in a message. This shouldbe sufficient for your purpose.

Note: See TracTickets for help on using tickets.