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/output)          HPL_T_panel *
        On entry,  PBCST  points to the data structure containing the
        panel (to be broadcast) information.
IFLAG   (local input/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/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.