sopalin_sendrecv.c

Summary
sopalin_sendrecv.c
API_CALL(recv_handle_fanin)
API_CALL(recv_handle_block)
API_CALL(recv_waitone_fanin)
API_CALL(recv_waitone_block)
API_CALL(recv_waitone_fob)
API_CALL(recv_testone_fob)
API_CALL(recv_testall_fab)
API_CALL(send_one_fanin)
API_CALL(send_one_block)
API_CALL(send_all_fanin)
API_CALL(send_all_block)
API_CALL(send_free_fanin)
API_CALL(send_free_block)
API_CALL(send_testall)
API_CALL(send_testall_fanin)
API_CALL(send_testall_block)
API_CALL(send_testall_fab)
API_CALL(send_waitone)
API_CALL(send_waitone_fanin)
API_CALL(send_waitone_block)
API_CALL(send_waitall_fab)
API_CALL(rcsd_testall_fab)
API_CALL(recv_waitone_fanin)
API_CALL(recv_waitone_block)
API_CALL(recv_waitone_fob)
API_CALL(recv_testone_fob)
API_CALL(recv_testall_fab)
API_CALL(send_all_fanin)
API_CALL(send_all_block)
API_CALL(send_free_fanin)
API_CALL(send_free_block)
API_CALL(rcsd_testall_fab)
recv_handle_faninAdd fanin contribution received in recv_buffer.
recv_handle_blockAdd block contribution received in recv_buffer.
recv_waitone_faninWait one fanin communication and call recv_handle_fanin
recv_waitone_blockWait one block communication and call recv_handle_block
recv_waitone_fobWait one fanin or one block communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD
recv_testone_fobTest one fanin or one block communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD
recv_testall_fabTest all active receive communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD
send_one_faninSend all contribution for a same task on a same destination.
send_one_blockSend the block t to the correct destination.
send_all_faninSend all contribution for a different task on a same destination.
send_all_blockSend all contribution for a same task on a same destination.
API_CALL(send_free_fanin)Free associated structure to fanin sent.
API_CALL(send_free_block)Free associated structure to block sent.
API_CALL(send_testall_fanin)Test all fanin sent to progress communications
API_CALL(send_testall_fanin)
API_CALL(send_testall_block)Test all block sent to progress communications
API_CALL(send_testall_fab)Test all block sent to progress communications
API_CALL(send_waitone_fanin)Test fanin sent to return an id or wait until one fanin finished.
API_CALL(send_waitone_fanin)
API_CALL(send_waitone_block)Tests send block.
API_CALL(send_waitall_fab)Wait for all pending communications (fanin and block).
API_CALL(rcsd_testall_fab)Launch threads for solving step.

API_CALL(recv_handle_fanin)

void API_CALL(
   recv_handle_fanin
) (Sopalin_Data_t *, INT, void *buffer, MPI_Status status, int elected)

API_CALL(recv_handle_block)

void API_CALL(
   recv_handle_block
) (Sopalin_Data_t *, INT, void *buffer, MPI_Status status, int elected)

API_CALL(recv_waitone_fanin)

void API_CALL(recv_waitone_fanin)(Sopalin_Data_t *, INT, INT tag)

API_CALL(recv_waitone_block)

void API_CALL(recv_waitone_block)(Sopalin_Data_t *, INT, INT tag)

API_CALL(recv_waitone_fob)

void API_CALL(recv_waitone_fob) (Sopalin_Data_t *, INT)

API_CALL(recv_testone_fob)

void API_CALL(recv_testone_fob) (Sopalin_Data_t *, INT)

API_CALL(recv_testall_fab)

void API_CALL(recv_testall_fab) (Sopalin_Data_t *, INT)

API_CALL(send_one_fanin)

int API_CALL(send_one_fanin) (Sopalin_Data_t *, INT, INT t)

API_CALL(send_one_block)

int API_CALL(send_one_block) (Sopalin_Data_t *, INT, INT t)

API_CALL(send_all_fanin)

void API_CALL(send_all_fanin) (Sopalin_Data_t *, INT, INT dest)

API_CALL(send_all_block)

void API_CALL(send_all_block) (Sopalin_Data_t *, INT)

API_CALL(send_free_fanin)

void API_CALL(send_free_fanin) (Sopalin_Data_t *, INT, INT s_index)

API_CALL(send_free_block)

void API_CALL(send_free_block) (Sopalin_Data_t *, INT, INT s_index)

API_CALL(send_testall)

void API_CALL(
   send_testall
) (Sopalin_Data_t *, INT, void (*funcfree)(Sopalin_Data_t*, INT, INT))

API_CALL(send_testall_fanin)

void API_CALL(send_testall_fanin)(Sopalin_Data_t *, INT)

API_CALL(send_testall_block)

void API_CALL(send_testall_block)(Sopalin_Data_t *, INT)

API_CALL(send_testall_fab)

void API_CALL(send_testall_fab) (Sopalin_Data_t *, INT)

API_CALL(send_waitone)

int API_CALL(
   send_waitone
) (Sopalin_Data_t *, INT, void (*funcfree)(Sopalin_Data_t*, INT, INT))

API_CALL(send_waitone_fanin)

int API_CALL(send_waitone_fanin)(Sopalin_Data_t *, INT)

API_CALL(send_waitone_block)

int API_CALL(send_waitone_block)(Sopalin_Data_t *, INT)

API_CALL(send_waitall_fab)

void API_CALL(send_waitall_fab) (Sopalin_Data_t *, INT)

API_CALL(rcsd_testall_fab)

void API_CALL(rcsd_testall_fab) (Sopalin_Data_t *, INT)

API_CALL(recv_waitone_fanin)

void API_CALL(recv_waitone_fanin)(Sopalin_Data_t *sopalin_data, INT me, INT tag)

API_CALL(recv_waitone_block)

void API_CALL(recv_waitone_block)(Sopalin_Data_t *sopalin_data, INT me, INT tag)

API_CALL(recv_waitone_fob)

void API_CALL(recv_waitone_fob) (Sopalin_Data_t *sopalin_data, INT me)

API_CALL(recv_testone_fob)

void API_CALL(recv_testone_fob) (Sopalin_Data_t *sopalin_data, INT me)

API_CALL(recv_testall_fab)

void API_CALL(recv_testall_fab) (Sopalin_Data_t *sopalin_data, INT me)

API_CALL(send_all_fanin)

void API_CALL(send_all_fanin) (Sopalin_Data_t *sopalin_data, INT me, INT dest)

API_CALL(send_all_block)

void API_CALL(send_all_block) (Sopalin_Data_t *sopalin_data, INT me)

API_CALL(send_free_fanin)

void API_CALL(
   send_free_fanin
) (Sopalin_Data_t *sopalin_data, INT me, INT s_index)

API_CALL(send_free_block)

void API_CALL(
   send_free_block
) (Sopalin_Data_t *sopalin_data, INT me, INT s_index)

API_CALL(rcsd_testall_fab)

void API_CALL(rcsd_testall_fab) (Sopalin_Data_t *sopalin_data, INT me)

recv_handle_fanin

void API_CALL(
   recv_handle_fanin
)(Sopalin_Data_t *sopalin_data, INT me, void *recv_buffer, MPI_Status status, int elected)

Add fanin contribution received in recv_buffer.

Parameters

sopalin_dataSolver structure
meThread number
recv_bufferReceived data
statusMPI communication status
electedIndex of communication used

recv_handle_block

void API_CALL(
   recv_handle_block
)(Sopalin_Data_t *sopalin_data, INT me, void *buffer, MPI_Status status, int elected)

Add block contribution received in recv_buffer.

Parameters

sopalin_dataSolver structure
meThread number
recv_bufferReceived data
statusMPI communication status
electedIndex of communication used

recv_waitone_fanin

void API_CALL(recv_waitone_fanin)(Sopalin_Data_t *sopalin_data, INT me, INT tag)

Wait one fanin communication and call recv_handle_fanin

Parameters

sopalin_dataSolver structure
meThread number
tagtag used for communication

recv_waitone_block

void API_CALL(recv_waitone_block)(Sopalin_Data_t *sopalin_data, INT me, INT tag)

Wait one block communication and call recv_handle_block

Parameters

sopalin_dataSolver structure
meThread number
tagtag used for communication

recv_waitone_fob

void API_CALL(recv_waitone_fob)(Sopalin_Data_t *sopalin_data, INT me)

Wait one fanin or one block communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD

Parameters

sopalin_dataSolver structure
meThread number

recv_testone_fob

void API_CALL(recv_testone_fob)(Sopalin_Data_t *sopalin_data, INT me)

Test one fanin or one block communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD

Parameters

sopalin_dataSolver structure
meThread number

recv_testall_fab

void API_CALL(recv_testall_fab)(Sopalin_Data_t *sopalin_data, INT me)

Test all active receive communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD

Parameters

sopalin_dataSolver structure
meThread number

send_one_fanin

int API_CALL(send_one_fanin)(Sopalin_Data_t *sopalin_data, INT me, INT t)

Send all contribution for a same task on a same destination.

Parameters

sopalin_dataSolver structure
meThread number
tFirst fanin number

Returns

Number of fanin sent

send_one_block

int API_CALL(send_one_block)(Sopalin_Data_t *sopalin_data, INT me, INT t)

Send the block t to the correct destination.

Parameters

sopalin_dataSolver structure
meThread number
tBlock Target number

Returns

Number of blocks sent (always 1)

send_all_fanin

void API_CALL(send_all_fanin)(Sopalin_Data_t *sopalin_data, INT me, INT dest)

Send all contribution for a different task on a same destination.  Can’t be called in PASTIX_FUNNELED

Parameters

sopalin_dataSolver structure
meThread number
destFirst fanin number

send_all_block

void API_CALL(send_all_block)(Sopalin_Data_t *sopalin_data, INT me)

Send all contribution for a same task on a same destination.  Can’t be called in PASTIX_FUNNELED

Parameters

sopalin_dataSolver structure
meThread number

API_CALL(send_free_fanin)

void API_CALL(
   send_free_fanin
)(Sopalin_Data_t *sopalin_data, INT me, INT s_index)

Free associated structure to fanin sent.

Parameters

Returns

void

API_CALL(send_free_block)

void API_CALL(
   send_free_block
)(Sopalin_Data_t *sopalin_data, INT me, INT s_index)

Free associated structure to block sent.

Parameters

Returns

void

API_CALL(send_testall_fanin)

void API_CALL(
   send_testall
)(Sopalin_Data_t *sopalin_data, INT me, void (*funcfree)(Sopalin_Data_t*, INT, INT))

Test all fanin sent to progress communications

Parameters

Returns

void

API_CALL(send_testall_fanin)

void API_CALL(send_testall_fanin)(Sopalin_Data_t *sopalin_data, INT me)

API_CALL(send_testall_block)

void API_CALL(send_testall_block)(Sopalin_Data_t *sopalin_data, INT me)

Test all block sent to progress communications

Parameters

Returns

void

API_CALL(send_testall_fab)

void API_CALL(send_testall_fab)(Sopalin_Data_t *sopalin_data, INT me)

Test all block sent to progress communications

Parameters

Returns

void

API_CALL(send_waitone_fanin)

int API_CALL(
   send_waitone
)(Sopalin_Data_t *sopalin_data, INT me, void (*funcfree)(Sopalin_Data_t*, INT, INT))

Test fanin sent to return an id or wait until one fanin finished.

Parameters

Returns

void

API_CALL(send_waitone_fanin)

int API_CALL(send_waitone_fanin)(Sopalin_Data_t *sopalin_data, INT me)

API_CALL(send_waitone_block)

int API_CALL(send_waitone_block)(Sopalin_Data_t *sopalin_data, INT me)

Tests send block.  Must be called only when all requests are used.

Parameters

Returns

void

API_CALL(send_waitall_fab)

void API_CALL(send_waitall_fab)(Sopalin_Data_t *sopalin_data, INT me)

Wait for all pending communications (fanin and block).

Parameters

Returns

void

API_CALL(rcsd_testall_fab)

void API_CALL(rcsd_testall_fab)(Sopalin_Data_t *sopalin_data, INT me)

Launch threads for solving step.

Parameters

Returns

void

void API_CALL(
   recv_handle_fanin
) (Sopalin_Data_t *, INT, void *buffer, MPI_Status status, int elected)
void API_CALL(
   recv_handle_block
) (Sopalin_Data_t *, INT, void *buffer, MPI_Status status, int elected)
void API_CALL(recv_waitone_fanin)(Sopalin_Data_t *, INT, INT tag)
void API_CALL(recv_waitone_block)(Sopalin_Data_t *, INT, INT tag)
void API_CALL(recv_waitone_fob) (Sopalin_Data_t *, INT)
void API_CALL(recv_testone_fob) (Sopalin_Data_t *, INT)
void API_CALL(recv_testall_fab) (Sopalin_Data_t *, INT)
int API_CALL(send_one_fanin) (Sopalin_Data_t *, INT, INT t)
int API_CALL(send_one_block) (Sopalin_Data_t *, INT, INT t)
void API_CALL(send_all_fanin) (Sopalin_Data_t *, INT, INT dest)
void API_CALL(send_all_block) (Sopalin_Data_t *, INT)
void API_CALL(send_free_fanin) (Sopalin_Data_t *, INT, INT s_index)
void API_CALL(send_free_block) (Sopalin_Data_t *, INT, INT s_index)
void API_CALL(
   send_testall
) (Sopalin_Data_t *, INT, void (*funcfree)(Sopalin_Data_t*, INT, INT))
void API_CALL(send_testall_fanin)(Sopalin_Data_t *, INT)
void API_CALL(send_testall_block)(Sopalin_Data_t *, INT)
void API_CALL(send_testall_fab) (Sopalin_Data_t *, INT)
int API_CALL(
   send_waitone
) (Sopalin_Data_t *, INT, void (*funcfree)(Sopalin_Data_t*, INT, INT))
int API_CALL(send_waitone_fanin)(Sopalin_Data_t *, INT)
int API_CALL(send_waitone_block)(Sopalin_Data_t *, INT)
void API_CALL(send_waitall_fab) (Sopalin_Data_t *, INT)
void API_CALL(rcsd_testall_fab) (Sopalin_Data_t *, INT)
void API_CALL(
   recv_handle_fanin
)(Sopalin_Data_t *sopalin_data, INT me, void *recv_buffer, MPI_Status status, int elected)
Add fanin contribution received in recv_buffer.
void API_CALL(
   recv_handle_block
)(Sopalin_Data_t *sopalin_data, INT me, void *buffer, MPI_Status status, int elected)
Add block contribution received in recv_buffer.
void API_CALL(recv_waitone_fanin)(Sopalin_Data_t *sopalin_data, INT me, INT tag)
Wait one fanin communication and call recv_handle_fanin
void API_CALL(recv_waitone_block)(Sopalin_Data_t *sopalin_data, INT me, INT tag)
Wait one block communication and call recv_handle_block
void API_CALL(recv_waitone_fob)(Sopalin_Data_t *sopalin_data, INT me)
Wait one fanin or one block communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD
void API_CALL(recv_testone_fob)(Sopalin_Data_t *sopalin_data, INT me)
Test one fanin or one block communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD
void API_CALL(recv_testall_fab)(Sopalin_Data_t *sopalin_data, INT me)
Test all active receive communication and call associate recv_handle_(fanin|block) Works only without EXACT_TAG or EXACT_THREAD
int API_CALL(send_one_fanin)(Sopalin_Data_t *sopalin_data, INT me, INT t)
Send all contribution for a same task on a same destination.
int API_CALL(send_one_block)(Sopalin_Data_t *sopalin_data, INT me, INT t)
Send the block t to the correct destination.
void API_CALL(send_all_fanin)(Sopalin_Data_t *sopalin_data, INT me, INT dest)
Send all contribution for a different task on a same destination.
void API_CALL(send_all_block)(Sopalin_Data_t *sopalin_data, INT me)
Send all contribution for a same task on a same destination.
void API_CALL(
   send_testall
)(Sopalin_Data_t *sopalin_data, INT me, void (*funcfree)(Sopalin_Data_t*, INT, INT))
Test all fanin sent to progress communications
int API_CALL(
   send_waitone
)(Sopalin_Data_t *sopalin_data, INT me, void (*funcfree)(Sopalin_Data_t*, INT, INT))
Test fanin sent to return an id or wait until one fanin finished.
Close