I am trying to send array with custom datatype, I read about MPI_Type_create_struct but I could not implement it successfully; could anyone please help me with the following:
I want to send following datatype with MPI_Send:
std::array<filib::interval<double>, 6>
and for MPI_Recv I want to receive following datatype:
std::list<std::array<filib::interval<double>, 6>>
Now the problem is filib::interval is a custom datatype I am using from some other library and I am not quite sure how to integrate this datatype with MPI.
FILIB++ Interval Library is an interval library, for docs: Interval Library Docs
How should I approach this to send/receive this datatype from other processes?
FILIB++ 2.0 intervals have methods "bitImage" and "readBitImage".
See the documentation pdf (page 31) 1
With these serialization methods it should be possible to send single intervals or lists of intervals as byte-arrays. Note that the datatypes must be specified by both sender and receiver in the template-instantiation and there will be no type-checking on that.
1 I really tried to find a better link to this document but failed. If anyone finds something please leave a comment