SuperLU Distributed 8.2.1
Distributed memory sparse direct solver
|
Broadcast an array of dtype numbers. More...
#include "superlu_ddefs.h"
Functions | |
void | bcast_tree (void *buf, int count, MPI_Datatype dtype, int root, int tag, gridinfo_t *grid, int scope, int *recvcnt) |
Broadcast an array of dtype numbers.
Copyright (c) 2003, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from U.S. Dept. of Energy)
All rights reserved.
The source code is distributed under BSD license, see the file License.txt at the top-level directory.
-- Distributed SuperLU routine (version 1.0) -- Lawrence Berkeley National Lab, Univ. of California Berkeley. September 1, 1999
void bcast_tree | ( | void * | buf, |
int | count, | ||
MPI_Datatype | dtype, | ||
int | root, | ||
int | tag, | ||
gridinfo_t * | grid, | ||
int | scope, | ||
int * | recvcnt | ||
) |
Purpose ======= Broadcast an array of *dtype* numbers. The communication pattern is a tree with number of branches equal to NBRANCHES. The process ranks are between 0 and Np-1. The following two pairs of graphs give different ways of viewing the same algorithm. The first pair shows the trees as they should be visualized when examining the algorithm. The second pair are isomorphic graphs of of the first, which show the actual pattern of data movement. Note that a tree broadcast with NBRANCHES = 2 is isomorphic with a hypercube broadcast (however, it does not require the nodes be a power of two to work). TREE BROADCAST, NBRANCHES = 2 * TREE BROADCAST, NBRANCHES = 3 root=2 i=4 &______________ * | \ * root=2 i=2 &______ &______ * i=3 &______________________ | \ | \ * | \ \ i=1 &__ &__ &__ &__ * i=1 &______ &______ &__ | \ | \ | \ | \ * | \ \ | \ \ | \ 2 3 4 5 6 7 0 1 * 2 3 4 5 6 7 0 1 ISOMORPHIC GRAPHS OF ABOVE, SHOWN IN MORE FAMILIAR TERMS: 2 2 _________|_________ ___________|____________ / | \ / | | \ 6 4 3 5 0 3 4 / \ | / \ | 0 7 5 6 7 1 | 1 Arguments ========= scope