

 
Manual Reference Pages  HPL_PDRPANCRN (3)
NAME
HPL_pdrpancrN  Crout recursive panel factorization.
CONTENTS
Synopsis
Description
Arguments
See Also
SYNOPSIS
#include "hpl.h"
void
HPL_pdrpancrN(
HPL_T_panel *
PANEL,
const int
M,
const int
N,
const int
ICOFF,
double *
WORK
);
DESCRIPTION
HPL_pdrpancrN
HPL_pdrpancrN recursively factorizes a panel of columns using the
recursive Crout variant of the usual onedimensional algorithm. The
lower triangular N0byN0 upper block of the panel is stored in
notranspose form (i.e. just like the input matrix itself).
Bidirectional exchange is used to perform the swap::broadcast
operations at once for one column in the panel. This results in a
lower number of slightly larger messages than usual. On P processes
and assuming bidirectional links, the running time of this function
can be approximated by (when N is equal to N0):
N0 * log_2( P ) * ( lat + ( 2*N0 + 4 ) / bdwth ) +
N0^2 * ( M  N0/3 ) * gam23
where M is the local number of rows of the panel, lat and bdwth are
the latency and bandwidth of the network for double precision real
words, and gam23 is an estimate of the Level 2 and Level 3 BLAS
rate of execution. The recursive algorithm allows indeed to almost
achieve Level 3 BLAS performance in the panel factorization. On a
large number of modern machines, this operation is however latency
bound, meaning that its cost can be estimated by only the latency
portion N0 * log_2(P) * lat. Monodirectional links will double this
communication cost.
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 sub(A).

N (local input) const int
 
On entry, N specifies the local number of columns of sub(A).

ICOFF (global input) const int
 
On entry, ICOFF specifies the row and column offset of sub(A)
in A.

WORK (local workspace) double *
 
On entry, WORK is a workarray of size at least 2*(4+2*N0).


SEE ALSO
HPL_dlocmax (3),
HPL_dlocswpN (3),
HPL_dlocswpT (3),
HPL_pdmxswp (3),
HPL_pdpancrN (3),
HPL_pdpancrT (3),
HPL_pdpanllN (3),
HPL_pdpanllT (3),
HPL_pdpanrlN (3),
HPL_pdpanrlT (3),
HPL_pdrpancrT (3),
HPL_pdrpanllN (3),
HPL_pdrpanllT (3),
HPL_pdrpanrlN (3),
HPL_pdrpanrlT (3),
HPL_pdfact (3).
HPL 2.1  HPL_PDRPANCRN (3)  October 26, 2012 
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. 