AP_dsend_end

End a batch of deterministic sends, initiate asynchronous reduction

Synopsis

#include "autopack.h"

void AP_dsend_end(void)

SUBROUTINE AP_DSEND_END(return_value)
INTEGER return_value

Parameters

None

Description

Like AP_send_end(), but end a batch of messages that are guaranteed to arrive in deterministic order.

Unlike AP_send_end(), this call will cause a global synchronization.

Return value

None

Overview

The general organization of user code should be as follows. Each processor calls AP_send_begin(), then does some sends, then calls AP_send_end(). Then it loops calling AP_recv(), blocking if desired (but using the AP_DROPOUT flag if blocking). AP_recv_count() will indicate when the loop should terminate. It is not necessary to synchronize the processors at any point during this process.