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

  
 
  

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 oper-
     ations  at once  for one column in the panel.  This   results  in	a  lower
     number  of slightly larger  messages than usual.  On P processes and assum-
     ing bi-directional links,	the running time of this function can be approx-
     imated by

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

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

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 col-
	     umn on which this function operates.

     II      (local input)	     const int
	     On entry, II  specifies the row offset where the column to be oper-
	     ated 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_pdrpanllN (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.1.quarterly>

home | help