Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
HPL_pdlaswp00T(3)	     HPL Library Functions	     HPL_pdlaswp00T(3)

       HPL_pdlaswp00T -	Broadcast a column panel L and swap the	row panel U.

       #include	"hpl.h"

       void  HPL_pdlaswp00T(  HPL_T_panel  * PBCST, int	* IFLAG, HPL_T_panel *
       PANEL, const int	NN );

       HPL_pdlaswp00T 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.

       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.

       HPL_pdgesv (3),	 HPL_pdgesvK2 (3),    HPL_pdupdateNT (3),    HPL_pdup-
       dateTT (3),    HPL_pipid	(3),	HPL_plindx0 (3),    HPL_dlaswp01T (3),
       HPL_dlaswp02N (3),	 HPL_dlaswp03T (3),	    HPL_dlaswp04T (3),
       HPL_dlaswp05T (3).

HPL 2.3			       December	2, 2018		     HPL_pdlaswp00T(3)


Want to link to this manual page? Use this URL:

home | help