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

FreeBSD Manual Pages

  
 
  

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

NAME
       HPL_logsort - Sort the processes	in logarithmic order.

SYNOPSIS
       #include	"hpl.h"

       void HPL_logsort( const int NPROCS, const int ICURROC, int * IPLEN, int
       * IPMAP,	int * IPMAPM1 );

DESCRIPTION
       HPL_logsort  computes  an array	IPMAP  and  its	inverse	 IPMAPM1  that
       contain	the logarithmic	sorted processes id with repect	to  the	 local
       number  of  rows	of  U  that they own. This is necessary	to ensure that
       the logarithmic spreading of U is optimal in terms of number  of	 steps
       and  communication  volume as well.  In other words,  the larget	pieces
       of U will be sent a minimal number of times.

ARGUMENTS
       NPROCS  (global input)	       const int
	       On entry, NPROCS	 specifies the number of process rows  in  the
	       process grid. NPROCS is at least	one.

       ICURROC (global input)	       const int
	       On entry, ICURROC is the	source process row.

       IPLEN   (global input/output)   int *
	       On  entry,  IPLEN is an array of	dimension NPROCS+1,  such that
	       IPLEN[0]	is 0, and IPLEN[i] contains the	number of rows	of  U,
	       that  process  i-1 has.	On exit,  IPLEN[i]  is	the number  of
	       rows of U  in the processes before process IPMAP[i]  after  the
	       sort,   with   the convention that  IPLEN[NPROCS] is  the total
	       number  of rows	of the panel.  In other	words,	 IPLEN[i+1]  -
	       IPLEN[i]	 is   the  number of rows of A that should be moved to
	       the process IPMAP[i].  IPLEN  is	such that the number  of  rows
	       of   the	  source process  row is IPLEN[1] - IPLEN[0],  and the
	       remaining  entries  of  this  array  are	 sorted	 so  that  the
	       quantities IPLEN[i+1]-IPLEN[i] are logarithmically sorted.

       IPMAP   (global output)	       int *
	       On  entry,   IPMAP  is an array of dimension  NPROCS.  On exit,
	       array contains  the logarithmic mapping of the  processes.   In
	       other  words,  IPMAP[myroc] is the corresponding	sorted process
	       coordinate.

       IPMAPM1 (global output)	       int *
	       On entry, IPMAPM1  is an	array of dimension NPROCS.   On	 exit,
	       this   array   contains	the inverse of the logarithmic mapping
	       contained  in  IPMAP:  IPMAPM1[ IPMAP[i]	] = i,	for all	 i  in
	       [0.. NPROCS)

SEE ALSO
       HPL_plindx1 (3),	   HPL_plindx10	(3),	HPL_pdlaswp01N (3),    HPL_pd-
       laswp01T	(3).

HPL 2.3			       December	2, 2018			HPL_logsort(3)

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

home | help