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

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

#include "superlu_sdefs.h"
Include dependency graph for psdistribute.c:

Functions

int_t sReDistribute_A (SuperMatrix *A, sScalePermstruct_t *ScalePermstruct, Glu_freeable_t *Glu_freeable, int_t *xsup, int_t *supno, gridinfo_t *grid, int_t *colptr[], int_t *rowind[], float *a[])
 
float psdistribute (superlu_dist_options_t *options, int_t n, SuperMatrix *A, sScalePermstruct_t *ScalePermstruct, Glu_freeable_t *Glu_freeable, sLUstruct_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

◆ psdistribute()

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

◆ sReDistribute_A()

int_t sReDistribute_A ( SuperMatrix A,
sScalePermstruct_t ScalePermstruct,
Glu_freeable_t Glu_freeable,
int_t xsup,
int_t supno,
gridinfo_t grid,
int_t colptr[],
int_t rowind[],
float *  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_S; Mtype = SLU_GE.

ScalePermstruct (input) sScalePermstruct_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) float*

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