GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  HPL_SPREADN (3)

NAME

HPL_spreadN - Spread row panel U and forward current column panel.

CONTENTS

Synopsis
Description
Arguments
See Also

SYNOPSIS

#include "hpl.h"

void HPL_spreadN( 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_spreadN 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 rows of U, that should be spread on any given process row. This function also probes for the presence of the column panel PBCST. In case of success, 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 columns 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,IPLEN[nprow]).
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_pdlaswp01N (3).
Search for    or go to Top of page |  Section 3 |  Main Index


HPL 2.1 HPL_SPREADN (3) October 26, 2012

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.