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

FreeBSD Manual Pages

  
 
  

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

NAME
       HPL_equil - Equilibrate U and forward the column	panel L.

SYNOPSIS
       #include	"hpl.h"

       void  HPL_equil(	HPL_T_panel * PBCST, int * IFLAG, HPL_T_panel *	PANEL,
       const enum HPL_TRANS TRANS, const int N,	double * U, const int LDU, int
       * IPLEN,	const int * IPMAP, const int * IPMAPM1,	int * IWORK );

DESCRIPTION
       HPL_equil equilibrates  the  local  pieces  of U, so that  on  exit  to
       this  function,	pieces	of U contained in every	process	row are	of the
       same size. This phase makes the rolling phase  optimal.	 In  addition,
       this   function	probes	 for  the  column panel	L and forwards it when
       possible.

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 equilibrated) information.

       TRANS   (global input)	       const enum HPL_TRANS
	       On entry, TRANS specifies whether  U  is	stored	in  transposed
	       or non-transposed form.

       N       (local input)	       const int
	       On  entry,  N  specifies	the number of rows or columns of  U. N
	       must be at least	0.

       U       (local input/output)    double *
	       On entry,  U  is	an array of dimension (LDU,*)  containing  the
	       local pieces of U in each process row.

       LDU     (local input)	       const int
	       On  entry,  LDU specifies the local leading dimension of	U. LDU
	       should be at least MAX(1,IPLEN[nprow]) when  U  is  stored   in
	       non-transposed form, and	MAX(1,N) otherwise.

       IPLEN   (global input)	       int *
	       On  entry,  IPLEN is an array of	dimension NPROW+1.  This array
	       is such that IPLEN[i+1] - IPLEN[i] is the number	of rows	 of  U
	       in process IPMAP[i].

       IPMAP   (global input)	       const int *
	       On  entry,  IPMAP is an array of	dimension  NPROW.  This	 array
	       contains	 the  logarithmic mapping of the processes.  In	 other
	       words,  IPMAP[myrow]   is the absolute coordinate of the	sorted
	       process.

       IPMAPM1 (global input)	       const int *
	       On entry, IPMAPM1  is an	array of dimension NPROW.  This	 array
	       contains	  the  inverse of the logarithmic mapping contained in
	       IPMAP: For i in [0.. NPROCS) IPMAPM1[IPMAP[i]] =	i.

       IWORK   (workspace)	       int *
	       On entry, IWORK is a workarray of dimension NPROW+1.

SEE ALSO
       HPL_pdlaswp01N (3), HPL_pdlaswp01T (3).

HPL 2.3			       December	2, 2018			  HPL_equil(3)

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

home | help