Driver program for PDGSSVX3D example.
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.0) --
Lawrence Berkeley National Lab, Georgia Institute of Technology,
Oak Ridge National Lab
September 10, 2021
*/
/*!
Purpose
=======
The driver program PDDRIVE3D2.
This example illustrates how to use PDGSSVX3D to sovle
the systems with the same sparsity pattern of matrix A.
In this case, the column permutation vector ScalePermstruct->perm_c is
computed once. The following data structures will be reused in the
subsequent call to PDGSSVX3D:
ScalePermstruct : perm_c
LUstruct : etree
SOLVEstruct : communication metadata for SpTRSV, SpMV, and
3D<->2D gather/scatter of {A,B} stored in A3d.
The program may be run by typing:
mpiexec -np
pddrive3d2 -r <proc rows> -c <proc columns> \
-d <proc Z-dimension> <input_file>
NOTE: total number of processes p = r * c * d
(d must be a power-of-two, e.g., 1, 2, 4, ...)