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

FreeBSD Manual Pages

  
 
  

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

NAME
       HPL_spreadT - Spread row	panel U	and forward current column panel.

SYNOPSIS
       #include	"hpl.h"

       void  HPL_spreadT(  HPL_T_panel	*  PBCST,  int	* IFLAG, HPL_T_panel *
       PANEL, const enum HPL_SIDE SIDE,	const int N, double  *	U,  const  int
       LDU, const int SRCDIST, const int * IPLEN, const	int * IPMAP, const int
       * IPMAPM1 );

DESCRIPTION
       HPL_spreadT spreads  the	local array containing local pieces of	U,  so
       that  on	 exit  to this function,  a piece of  U	 is contained in every
       process row.  The array	IPLEN  contains	the number of  columns	of  U,
       that  should  be	 spread	on any given process row.  This	function  also
       probes for the presence of  the column panel   PBCST.   If   available,
       this   panel  will  be forwarded.  If  PBCST  is	 NULL  on input,  this
       probing mechanism will be disabled.

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

       SIDE    (global input)	       const enum HPL_SIDE
	       On entry, SIDE specifies	whether	the local piece	of  U  located
	       in  process  IPMAP[SRCDIST] should be spread to the right or to
	       the left. This feature is used by the equilibration process.

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

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

       LDU     (local input)	       const int
	       On entry, LDU specifies the local leading dimension of  U.  LDU
	       should be at least MAX(1,N).

       SRCDIST (local input)	       const int
	       On  entry,   SRCDIST  specifies the source process that spreads
	       its piece of U.

       IPLEN   (global input)	       const 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 each process before process IPMAP[i],	with  the   convention
	       that  IPLEN[nprow]  is the total	number of rows.	In other words
	       IPLEN[i+1] - IPLEN[i]  is  the local number of rows of  U  that
	       should be moved to 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.. NPROW) IPMAPM1[IPMAP[i]] = i.

SEE ALSO
       HPL_pdlaswp01T (3).

HPL 2.1			       October 26, 2012			HPL_spreadT(3)

NAME | SYNOPSIS | DESCRIPTION | ARGUMENTS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HPL_spreadT&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help