1HPL_pdmxswp(3)               HPL Library Functions              HPL_pdmxswp(3)
2
3
4

NAME

6       HPL_pdmxswp - swaps and broacast the pivot row.
7

SYNOPSIS

9       #include "hpl.h"
10
11       void HPL_pdmxswp( HPL_T_panel * PANEL, const int M, const int II, const
12       int JJ, double * WORK );
13

DESCRIPTION

15       HPL_pdmxswp swaps  and  broadcasts  the  absolute value max  row  using
16       bi-directional exchange.  The buffer is partially set by HPL_dlocmax.
17
18       Bi-directional   exchange   is  used  to  perform  the  swap::broadcast
19       operations  at once  for one column in the panel.  This  results  in  a
20       lower  number  of slightly larger  messages than usual.  On P processes
21       and assuming bi-directional links,  the running time of  this  function
22       can be approximated by
23
24          log_2( P ) * ( lat + ( 2 * N0 + 4 ) / bdwth )
25
26       where   lat  and bdwth are the latency and bandwidth of the network for
27       double precision real elements.  Communication  only  occurs   in   one
28       process   column.  Mono-directional links  will cause the communication
29       cost to double.
30

ARGUMENTS

32       PANEL   (local input/output)    HPL_T_panel *
33               On entry,  PANEL  points to the data structure  containing  the
34               panel information.
35
36       M       (local input)           const int
37               On  entry,   M specifies the local number of rows of the matrix
38               column on which this function operates.
39
40       II      (local input)           const int
41               On entry, II  specifies the row offset where the column  to  be
42               operated on starts with respect to the panel.
43
44       JJ      (local input)           const int
45               On  entry,  JJ  specifies the column offset where the column to
46               be operated on starts with respect to the panel.
47
48       WORK    (local workspace)       double *
49               On entry, WORK  is a workarray of size at least 2  *  (4+2*N0).
50               It   is  assumed that  HPL_dlocmax  was called  prior  to  this
51               routine to  initialize  the first four entries of  this  array.
52               On  exit,  the  N0  length max row is stored in WORK[4:4+N0-1];
53               Note that this is also the  JJth  row  (or column) of  L1.  The
54               remaining part is used as a temporary array.
55

SEE ALSO

57       HPL_dlocmax (3),  HPL_dlocswpN (3), HPL_dlocswpT (3), HPL_pdpancrN (3),
58       HPL_pdpancrT (3), HPL_pdpanllN (3), HPL_pdpanllT (3), HPL_pdpanrlN (3),
59       HPL_pdpanrlT (3),   HPL_pdrpancrN (3),  HPL_pdrpancrT (3),  HPL_pdrpan‐
60       llN (3),   HPL_pdrpanllT (3),   HPL_pdrpanrlN (3),   HPL_pdrpanrlT (3),
61       HPL_pdfact (3).
62
63
64
65HPL 2.1                        October 26, 2012                 HPL_pdmxswp(3)
Impressum