Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#9208 closed Bugs (fixed)

MPI failure on big endian machines

Reported by: Steve Nolen <drnuke@…> Owned by: Matthias Troyer
Milestone: To Be Determined Component: mpi
Version: Boost 1.54.0 Severity: Showstopper
Keywords: mpi, endian Cc:

Description

On big endian machines (i.e. LLNL's Sequoia) the boost MPI implementation is broken. When a class's version is written to a packed_oarchive, the value (an unsigned int, uint32) is written as a 1-byte integer. The process sort of works on little endian machines where the least significant byte is being copied. On a big endian machine, this 1st byte is always going to be zero. I have put together a patch that explicitly converts the uint32 to a uint8 to avoid this issue. Feedback is appreciated.

Attachments (1)

boostMPIpatch.diff (1.9 KB ) - added by Steve Nolen <drnuke@…> 9 years ago.

Download all attachments as: .zip

Change History (3)

by Steve Nolen <drnuke@…>, 9 years ago

Attachment: boostMPIpatch.diff added

comment:1 by Matthias Troyer, 9 years ago

Resolution: fixed
Status: newclosed

(In [86207]) Fixed #9208

comment:2 by anonymous, 9 years ago

Cab you please try the current trunk version?

Note: See TracTickets for help on using tickets.