Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:40:57

0001 // Copyright 2005 Douglas Gregor.
0002 
0003 // Use, modification and distribution is subject to the Boost Software
0004 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0005 // http://www.boost.org/LICENSE_1_0.txt)
0006 
0007 // Message Passing Interface 1.1 -- Section 3. MPI Point-to-point
0008 #ifndef BOOST_MPI_DETAIL_POINT_TO_POINT_HPP
0009 #define BOOST_MPI_DETAIL_POINT_TO_POINT_HPP
0010 
0011 // For (de-)serializing sends and receives
0012 #include <boost/mpi/config.hpp>
0013 #include <boost/mpi/packed_oarchive.hpp>
0014 #include <boost/mpi/packed_iarchive.hpp>
0015 
0016 namespace boost { namespace mpi {
0017 
0018 class request;
0019 class communicator;
0020 
0021 namespace detail {
0022 
0023 /** Sends a packed archive using MPI_Send. */
0024 BOOST_MPI_DECL void
0025 packed_archive_send(communicator const& comm, int dest, int tag,
0026                     const packed_oarchive& ar);
0027 
0028 /** Sends a packed archive using MPI_Isend.
0029  *
0030  * This routine may split sends into multiple packets. The MPI_Request
0031  * for each packet will be placed into the out_requests array, up to
0032  * num_out_requests packets. The number of packets sent will be
0033  * returned from the function.
0034  */
0035 BOOST_MPI_DECL request
0036 packed_archive_isend(communicator const& comm, int dest, int tag,
0037                      const packed_oarchive& ar);
0038 
0039 /**
0040  * \overload
0041  */
0042 BOOST_MPI_DECL request
0043 packed_archive_isend(communicator const& comm, int dest, int tag,
0044                      const packed_iarchive& ar);
0045 
0046 /** Receives a packed archive using MPI_Recv. */
0047 BOOST_MPI_DECL void
0048 packed_archive_recv(communicator const& comm, int source, int tag, packed_iarchive& ar,
0049                     MPI_Status& status);
0050 
0051 } } } // end namespace boost::mpi::detail
0052 
0053 #endif // BOOST_MPI_DETAIL_POINT_TO_POINT_HPP