Name
HPL_pdlaswp00N Broadcast a column panel L and swap the row panel U.
Synopsis
#include <hpl.h>
void
HPL_pdlaswp00N(
HPL_T_panel *
PBCST
,
int *
IFLAG
,
HPL_T_panel *
PANEL
,
const int
NN
);
Description
HPL_pdlaswp00N
applies the NB row interchanges to NN columns of the
trailing submatrix and broadcast a column panel.
Bi-directional exchange is used to perform the swap :: broadcast of
the row panel U at once, resulting in a lower number of messages than
usual as well as a lower communication volume. With P process rows and
assuming bi-directional links, the running time of this function can
be approximated by:
log_2(P) * (lat + NB*LocQ(N) / bdwth)
where NB is the number of rows of the row panel U, N is the global
number of columns being updated, lat and bdwth are the latency and
bandwidth of the network for double precision real words. Mono
directional links will double this communication cost.
Arguments
PBCST (local input/local output) HPL_T_panel *
On entry, PBCST points to the data structure containing the
panel (to be broadcast) information.
IFLAG (local intput/output) int *
On entry, IFLAG indicates whether or not the broadcast has
already been completed. If not, probing will occur, and the
outcome will be contained in IFLAG on exit.
PANEL (local input/local output) HPL_T_panel *
On entry, PANEL points to the data structure containing the
panel (to be broadcast and swapped) information.
NN (local input) const int
On entry, NN specifies the local number of columns of the
trailing submatrix to be swapped and broadcast starting at
the current position. NN must be at least zero.
See Also
HPL_pdgesv,
HPL_pdgesvK2,
HPL_pdupdateNN,
HPL_pdupdateTN,
HPL_pipid,
HPL_plindx0,
HPL_dlaswp01N,
HPL_dlaswp02N,
HPL_dlaswp03N,
HPL_dlaswp04N,
HPL_dlaswp05N