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

FreeBSD Manual Pages


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

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

       #include	"hpl.h"

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

       HPL_pdlaswp01N applies the  NB  row interchanges	to  NN columns of  the
       trailing	submatrix and broadcast	a column panel.

       A  "Spread then roll" algorithm performs	 the swap :: broadcast	of the
       row panel U at once,  resulting in a minimal communication volume   and
       a  "very	good"  use of the connectivity if available.  With  P  process
       rows  and  assuming  bi-directional links,  the	running	time  of  this
       function	can be approximated by:

	  (log_2(P)+(P-1)) * lat +   K * 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.	K is a
       constant	in (2,3] that depends on the achieved bandwidth	 during	 a si-
       multaneous  message exchange  between two processes.  An	 empirical op-
       timistic	value of K is typically	2.4.

       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 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_pdupdateNN (3),    HPL_pdup-
       dateTN (3),     HPL_pipid (3),	 HPL_plindx1 (3),    HPL_plindx10 (3),
       HPL_spreadN (3),	  HPL_equil (3),   HPL_rollN (3),   HPL_dlaswp00N (3),
       HPL_dlaswp01N (3), HPL_dlaswp06N	(3).

HPL 2.3			       December	2, 2018		     HPL_pdlaswp01N(3)


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

home | help