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

  
 
  

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  al-
	     ready 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 con-
	     tains  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 con-
	     tains  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.1.quarterly>

home | help