packages/SPn/spn/FV_Gather.cc
//---------------------------------------------------------------------------//
// PRIVATE IMPLEMENTATION
//---------------------------------------------------------------------------//
/*!
 * \brief Post receives.
 */
PRIVATE IMPLEMENTATION
\brief Post receives.
PRIVATE IMPLEMENTATION \ brief Post receives .
void FV_Gather::post_receives()
{
    REQUIRE(!d_request_I[LO].inuse());
    REQUIRE(!d_request_I[HI].inuse());
    REQUIRE(!d_request_J[LO].inuse());
    REQUIRE(!d_request_J[HI].inuse());
    if (!d_incoming_I[LO].is_null())
    {
        CHECK(!d_outgoing_I[LO].is_null());
        profugus::receive_async(
            d_request_I[LO], d_incoming_I[LO]->data_pointer(),
            d_incoming_I[LO]->data_size(), d_neighbor_I[LO], 450);
    }
    if (!d_incoming_J[LO].is_null())
    {
        CHECK(!d_outgoing_J[LO].is_null());
        profugus::receive_async(
            d_request_J[LO], d_incoming_J[LO]->data_pointer(),
            d_incoming_J[LO]->data_size(), d_neighbor_J[LO], 451);
    }
    if (!d_incoming_I[HI].is_null())
    {
        CHECK(!d_outgoing_I[HI].is_null());
        profugus::receive_async(
            d_request_I[HI], d_incoming_I[HI]->data_pointer(),
            d_incoming_I[HI]->data_size(), d_neighbor_I[HI], 452);
    }
    if (!d_incoming_J[HI].is_null())
    {
        CHECK(!d_outgoing_J[HI].is_null());
        profugus::receive_async(
            d_request_J[HI], d_incoming_J[HI]->data_pointer(),
            d_incoming_J[HI]->data_size(), d_neighbor_J[HI], 453);
    }
}
void FV_Gather :: post_receives ( ) { REQUIRE ( ! d_request_I [ LO ] . inuse ( ) ) ; REQUIRE ( ! d_request_I [ HI ] . inuse ( ) ) ; REQUIRE ( ! d_request_J [ LO ] . inuse ( ) ) ; REQUIRE ( ! d_request_J [ HI ] . inuse ( ) ) ; if ( ! d_incoming_I [ LO ] . is_null ( ) ) { CHECK ( ! d_outgoing_I [ LO ] . is_null ( ) ) ; profugus :: receive_async ( d_request_I [ LO ] , d_incoming_I [ LO ] -> data_pointer ( ) , d_incoming_I [ LO ] -> data_size ( ) , d_neighbor_I [ LO ] , 450 ) ; } if ( ! d_incoming_J [ LO ] . is_null ( ) ) { CHECK ( ! d_outgoing_J [ LO ] . is_null ( ) ) ; profugus :: receive_async ( d_request_J [ LO ] , d_incoming_J [ LO ] -> data_pointer ( ) , d_incoming_J [ LO ] -> data_size ( ) , d_neighbor_J [ LO ] , 451 ) ; } if ( ! d_incoming_I [ HI ] . is_null ( ) ) { CHECK ( ! d_outgoing_I [ HI ] . is_null ( ) ) ; profugus :: receive_async ( d_request_I [ HI ] , d_incoming_I [ HI ] -> data_pointer ( ) , d_incoming_I [ HI ] -> data_size ( ) , d_neighbor_I [ HI ] , 452 ) ; } if ( ! d_incoming_J [ HI ] . is_null ( ) ) { CHECK ( ! d_outgoing_J [ HI ] . is_null ( ) ) ; profugus :: receive_async ( d_request_J [ HI ] , d_incoming_J [ HI ] -> data_pointer ( ) , d_incoming_J [ HI ] -> data_size ( ) , d_neighbor_J [ HI ] , 453 ) ; } }
PRIVATE IMPLEMENTATION
 \brief Post receives.
PRIVATE IMPLEMENTATION \ brief Post receives .
// post receives on this block // low sides // high sides