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

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

#include "superlu_zdefs.h"
Include dependency graph for pzdistribute.c:

Functions

int_t zReDistribute_A (SuperMatrix *A, zScalePermstruct_t *ScalePermstruct, Glu_freeable_t *Glu_freeable, int_t *xsup, int_t *supno, gridinfo_t *grid, int_t *colptr[], int_t *rowind[], doublecomplex *a[])
 
float pzdistribute (superlu_dist_options_t *options, int_t n, SuperMatrix *A, zScalePermstruct_t *ScalePermstruct, Glu_freeable_t *Glu_freeable, zLUstruct_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 7.1.1) --
Lawrence Berkeley National Lab, Univ. of California Berkeley.
October 15, 2008
October 18, 2021, minor fix, v7.1.1
January 9,  2023, add new data structures for SpTRSV

Function Documentation

◆ pzdistribute()

float pzdistribute ( superlu_dist_options_t options,
int_t  n,
SuperMatrix A,
zScalePermstruct_t ScalePermstruct,
Glu_freeable_t Glu_freeable,
zLUstruct_t LUstruct,
gridinfo_t grid 
)
Here is the call graph for this function:

◆ zReDistribute_A()

int_t zReDistribute_A ( SuperMatrix A,
zScalePermstruct_t ScalePermstruct,
Glu_freeable_t Glu_freeable,
int_t xsup,
int_t supno,
gridinfo_t grid,
int_t colptr[],
int_t rowind[],
doublecomplex 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_Z; Mtype = SLU_GE.

ScalePermstruct (input) zScalePermstruct_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) doublecomplex*

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