Chris@16: // Copyright 2005 Douglas Gregor. Chris@16: Chris@16: // Use, modification and distribution is subject to the Boost Software Chris@16: // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // Message Passing Interface 1.1 -- Section 3. MPI Point-to-point Chris@16: #ifndef BOOST_MPI_DETAIL_POINT_TO_POINT_HPP Chris@16: #define BOOST_MPI_DETAIL_POINT_TO_POINT_HPP Chris@16: Chris@16: // For (de-)serializing sends and receives Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: namespace boost { namespace mpi { namespace detail { Chris@16: Chris@16: /** Sends a packed archive using MPI_Send. */ Chris@16: BOOST_MPI_DECL void Chris@16: packed_archive_send(MPI_Comm comm, int dest, int tag, Chris@16: const packed_oarchive& ar); Chris@16: Chris@16: /** Sends a packed archive using MPI_Isend. Chris@16: * Chris@16: * This routine may split sends into multiple packets. The MPI_Request Chris@16: * for each packet will be placed into the out_requests array, up to Chris@16: * num_out_requests packets. The number of packets sent will be Chris@16: * returned from the function. Chris@16: * Chris@16: * @pre num_out_requests >= 2 Chris@16: */ Chris@16: BOOST_MPI_DECL int Chris@16: packed_archive_isend(MPI_Comm comm, int dest, int tag, Chris@16: const packed_oarchive& ar, Chris@16: MPI_Request* out_requests, int num_out_requests); Chris@16: Chris@16: /** Chris@16: * \overload Chris@16: */ Chris@16: BOOST_MPI_DECL int Chris@16: packed_archive_isend(MPI_Comm comm, int dest, int tag, Chris@16: const packed_iarchive& ar, Chris@16: MPI_Request* out_requests, int num_out_requests); Chris@16: Chris@16: /** Receives a packed archive using MPI_Recv. */ Chris@16: BOOST_MPI_DECL void Chris@16: packed_archive_recv(MPI_Comm comm, int source, int tag, packed_iarchive& ar, Chris@16: MPI_Status& status); Chris@16: Chris@16: } } } // end namespace boost::mpi::detail Chris@16: Chris@16: #endif // BOOST_MPI_DETAIL_POINT_TO_POINT_HPP