SuperLU Distributed 8.2.1
Distributed memory sparse direct solver
pddistribute.c File Reference

Re-distribute A on the 2D process mesh. More...

#include "superlu_ddefs.h"
Include dependency graph for pddistribute.c:

Functions

int_t dReDistribute_A (SuperMatrix *A, dScalePermstruct_t *ScalePermstruct, Glu_freeable_t *Glu_freeable, int_t *xsup, int_t *supno, gridinfo_t *grid, int_t *colptr[], int_t *rowind[], double *a[])
 
float pddistribute (fact_t fact, int_t n, SuperMatrix *A, dScalePermstruct_t *ScalePermstruct, Glu_freeable_t *Glu_freeable, dLUstruct_t *LUstruct, gridinfo_t *grid)
 

Detailed Description

Re-distribute A on the 2D process mesh.

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 2.3) --
Lawrence Berkeley National Lab, Univ. of California Berkeley.
October 15, 2008

Function Documentation

◆ dReDistribute_A()

int_t dReDistribute_A ( SuperMatrix A,
dScalePermstruct_t ScalePermstruct,
Glu_freeable_t Glu_freeable,
int_t xsup,
int_t supno,
gridinfo_t grid,
int_t colptr[],
int_t rowind[],
double *  a[] 
)
Purpose
=======
  Re-distribute A on the 2D process mesh.

Arguments
=========

A      (input) SuperMatrix*
   The distributed input matrix A of dimension (A->nrow, A->ncol).
       A may be overwritten by diag(R)*A*diag(C)*Pc^T.
       The type of A can be: Stype = SLU_NR_loc; Dtype = SLU_D; Mtype = SLU_GE.

ScalePermstruct (input) dScalePermstruct_t*
       The data structure to store the scaling and permutation vectors
       describing the transformations performed to the original matrix A.

Glu_freeable (input) *Glu_freeable_t
       The global structure describing the graph of L and U.

grid   (input) gridinfo_t*
       The 2D process mesh.

colptr (output) int*

rowind (output) int*

a      (output) double*

Return value
============
  > 0, working storage (in bytes) required to perform redistribution.
       (excluding LU factor size)
Here is the call graph for this function:

◆ pddistribute()

float pddistribute ( fact_t  fact,
int_t  n,
SuperMatrix A,
dScalePermstruct_t ScalePermstruct,
Glu_freeable_t Glu_freeable,
dLUstruct_t LUstruct,
gridinfo_t grid 
)
Here is the call graph for this function: