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

FreeBSD Manual Pages

  
 
  

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

NAME
       HPL_pdmxswp - swaps and broacast	the pivot row.

SYNOPSIS
       #include	"hpl.h"

       void HPL_pdmxswp( HPL_T_panel * PANEL, const int	M, const int II, const
       int JJ, double *	WORK );

DESCRIPTION
       HPL_pdmxswp  swaps   and	 broadcasts  the  absolute value max row using
       bi-directional exchange.	 The buffer is partially set by	HPL_dlocmax.

       Bi-directional  exchange	 is  used  to  perform	 the   swap::broadcast
       operations   at	once  for one column in	the panel.  This  results in a
       lower number of slightly	larger	messages than usual.  On  P  processes
       and  assuming  bi-directional links,  the running time of this function
       can be approximated by

	  log_2( P ) * ( lat + ( 2 * N0	+ 4 ) /	bdwth )

       where  lat and bdwth are	the latency and	bandwidth of the  network  for
       double  precision  real elements.  Communication	 only  occurs  in  one
       process	column.	Mono-directional links	will cause  the	 communication
       cost to double.

ARGUMENTS
       PANEL   (local input/output)    HPL_T_panel *
	       On  entry,   PANEL  points to the data structure	containing the
	       panel information.

       M       (local input)	       const int
	       On entry,  M specifies the local	number of rows of  the	matrix
	       column on which this function operates.

       II      (local input)	       const int
	       On  entry,  II  specifies the row offset	where the column to be
	       operated	on starts with respect to the panel.

       JJ      (local input)	       const int
	       On entry, JJ  specifies the column offset where the  column  to
	       be operated on starts with respect to the panel.

       WORK    (local workspace)       double *
	       On  entry,  WORK	 is a workarray	of size	at least 2 * (4+2*N0).
	       It  is assumed that  HPL_dlocmax	 was called  prior   to	  this
	       routine	to   initialize	 the first four	entries	of this	array.
	       On exit,	the  N0	 length	max row	is stored  in  WORK[4:4+N0-1];
	       Note  that  this	is also	the  JJth  row	(or column) of L1. The
	       remaining part is used as a temporary array.

SEE ALSO
       HPL_dlocmax (3),	HPL_dlocswpN (3), HPL_dlocswpT (3),  HPL_pdpancrN (3),
       HPL_pdpancrT (3), HPL_pdpanllN (3), HPL_pdpanllT	(3), HPL_pdpanrlN (3),
       HPL_pdpanrlT (3),   HPL_pdrpancrN (3),  HPL_pdrpancrT (3),  HPL_pdrpan-
       llN (3),	  HPL_pdrpanllT	(3),   HPL_pdrpanrlN (3),   HPL_pdrpanrlT (3),
       HPL_pdfact (3).

HPL 2.3			       December	2, 2018			HPL_pdmxswp(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=HPL_pdmxswp&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help