Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parameter setting for direct solvers #215

Merged
merged 13 commits into from
Jan 24, 2025
8 changes: 4 additions & 4 deletions examples/r_KLU_GLU.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,17 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceCUDA* workspace_CUDA = new ReSolve::LinAlgWorkspaceCUDA;
workspace_CUDA->initializeHandles();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace_CUDA);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace_CUDA);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;
real_type norm_A, norm_x, norm_r;//used for INF norm

ReSolve::LinSolverDirectKLU* KLU = new ReSolve::LinSolverDirectKLU;
Expand Down
10 changes: 5 additions & 5 deletions examples/r_KLU_GLU_matrix_values_update.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,18 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A_exp;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::matrix::Csr* A_exp = nullptr;
ReSolve::LinAlgWorkspaceCUDA* workspace_CUDA = new ReSolve::LinAlgWorkspaceCUDA;
workspace_CUDA->initializeHandles();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace_CUDA);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace_CUDA);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::LinSolverDirectKLU* KLU = new ReSolve::LinSolverDirectKLU;
ReSolve::LinSolverDirectCuSolverGLU* GLU = new ReSolve::LinSolverDirectCuSolverGLU(workspace_CUDA);
Expand Down
8 changes: 4 additions & 4 deletions examples/r_KLU_KLU.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,16 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceCpu* workspace = new ReSolve::LinAlgWorkspaceCpu();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;
real_type norm_A, norm_x, norm_r;//used for INF norm

ReSolve::LinSolverDirectKLU* KLU = new ReSolve::LinSolverDirectKLU;
Expand Down
8 changes: 4 additions & 4 deletions examples/r_KLU_KLU_standalone.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,16 +31,16 @@ int main(int argc, char *argv[])
std::string fileId;
std::string rhsId;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceCpu* workspace = new ReSolve::LinAlgWorkspaceCpu();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::LinSolverDirectKLU* KLU = new ReSolve::LinSolverDirectKLU;

Expand Down
14 changes: 7 additions & 7 deletions examples/r_KLU_cusolverrf_redo_factorization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ int main(int argc, char *argv[] )
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;

ReSolve::LinAlgWorkspaceCUDA* workspace_CUDA = new ReSolve::LinAlgWorkspaceCUDA;
workspace_CUDA->initializeHandles();
Expand All @@ -44,23 +44,23 @@ int main(int argc, char *argv[] )
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::LinSolverDirectKLU* KLU = new ReSolve::LinSolverDirectKLU;
ReSolve::LinSolverDirectCuSolverRf* Rf = new ReSolve::LinSolverDirectCuSolverRf();

real_type res_nrm;
real_type b_nrm;
real_type res_nrm = 0.0;
real_type b_nrm = 0.0;

// We need them. They hold a POINTER. Don't delete them here. KLU deletes them.
ReSolve::matrix::Csc* L_csc;
ReSolve::matrix::Csc* U_csc;
index_type* P;
index_type* Q;

int status;
int status = 0;
int status_refactor = 0;
for (int i = 0; i < numSystems; ++i)
{
Expand Down
8 changes: 4 additions & 4 deletions examples/r_KLU_rf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ int main(int argc, char *argv[] )
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;

ReSolve::LinAlgWorkspaceCUDA* workspace_CUDA = new ReSolve::LinAlgWorkspaceCUDA;
workspace_CUDA->initializeHandles();
Expand All @@ -44,9 +44,9 @@ int main(int argc, char *argv[] )
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::LinSolverDirectKLU* KLU = new ReSolve::LinSolverDirectKLU;
ReSolve::LinSolverDirectCuSolverRf* Rf = new ReSolve::LinSolverDirectCuSolverRf;
Expand Down
8 changes: 4 additions & 4 deletions examples/r_KLU_rf_FGMRES.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,17 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceCUDA* workspace_CUDA = new ReSolve::LinAlgWorkspaceCUDA;
workspace_CUDA->initializeHandles();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace_CUDA);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace_CUDA);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;
real_type norm_A, norm_x, norm_r;//used for INF norm

ReSolve::GramSchmidt* GS = new ReSolve::GramSchmidt(vector_handler, ReSolve::GramSchmidt::CGS2);
Expand Down
12 changes: 6 additions & 6 deletions examples/r_KLU_rf_FGMRES_reuse_factorization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;

ReSolve::LinAlgWorkspaceCUDA* workspace_CUDA = new ReSolve::LinAlgWorkspaceCUDA;
workspace_CUDA->initializeHandles();
Expand All @@ -46,9 +46,9 @@ int main(int argc, char *argv[])
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::GramSchmidt* GS = new ReSolve::GramSchmidt(vector_handler, ReSolve::GramSchmidt::CGS2);

Expand Down Expand Up @@ -121,8 +121,8 @@ int main(int argc, char *argv[])
}
std::cout << "CSR matrix loaded. Expanded NNZ: " << A->getNnz() << std::endl;

//Now call direct solver
int status;
// Now call direct solver
int status = 0;
real_type norm_b;
if (i < 2){
KLU->setup(A);
Expand Down
8 changes: 4 additions & 4 deletions examples/r_KLU_rocSolverRf_FGMRES.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,17 +37,17 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceHIP* workspace_HIP = new ReSolve::LinAlgWorkspaceHIP();
workspace_HIP->initializeHandles();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace_HIP);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace_HIP);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;
real_type norm_A;
real_type norm_x;
real_type norm_r;
Expand Down
8 changes: 4 additions & 4 deletions examples/r_KLU_rocsolverrf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;

ReSolve::LinAlgWorkspaceHIP* workspace_HIP = new ReSolve::LinAlgWorkspaceHIP;
workspace_HIP->initializeHandles();
Expand All @@ -44,9 +44,9 @@ int main(int argc, char *argv[])
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

real_type norm_A, norm_x, norm_r; //used for INF norm

Expand Down
10 changes: 5 additions & 5 deletions examples/r_KLU_rocsolverrf_redo_factorization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ int main(int argc, char *argv[] )
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;

ReSolve::LinAlgWorkspaceHIP* workspace_HIP = new ReSolve::LinAlgWorkspaceHIP;
workspace_HIP->initializeHandles();
Expand All @@ -44,9 +44,9 @@ int main(int argc, char *argv[] )
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::LinSolverDirectKLU* KLU = new ReSolve::LinSolverDirectKLU;
ReSolve::LinSolverDirectRocSolverRf* Rf = new ReSolve::LinSolverDirectRocSolverRf(workspace_HIP);
Expand Down Expand Up @@ -116,7 +116,7 @@ int main(int argc, char *argv[] )
std::cout << "CSR matrix loaded. Expanded NNZ: " << A->getNnz() << std::endl;

//Now call direct solver
int status;
int status = 0;
if (i < 2){
KLU->setup(A);
status = KLU->analyze();
Expand Down
8 changes: 4 additions & 4 deletions examples/r_SysSolver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,16 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceCpu* workspace = new ReSolve::LinAlgWorkspaceCpu();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::SystemSolver* solver = new ReSolve::SystemSolver(workspace);

Expand Down
6 changes: 3 additions & 3 deletions examples/r_SysSolverCuda.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceCUDA* workspace_CUDA = new ReSolve::LinAlgWorkspaceCUDA;
workspace_CUDA->initializeHandles();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace_CUDA);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;

ReSolve::SystemSolver* solver = new ReSolve::SystemSolver(workspace_CUDA);

Expand Down
2 changes: 1 addition & 1 deletion examples/r_SysSolverHip.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ int main(int argc, char *argv[] )
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;

ReSolve::LinAlgWorkspaceHIP* workspace_HIP = new ReSolve::LinAlgWorkspaceHIP();
workspace_HIP->initializeHandles();
Expand Down
2 changes: 1 addition & 1 deletion examples/r_SysSolverHipRefine.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ int main(int argc, char *argv[])
std::string matrixFileNameFull;
std::string rhsFileNameFull;

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceHIP* workspace_HIP = new ReSolve::LinAlgWorkspaceHIP();
workspace_HIP->initializeHandles();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace_HIP);
Expand Down
8 changes: 4 additions & 4 deletions examples/r_randGMRES.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,17 @@ int main(int argc, char *argv[])
std::string rhsFileName = argv[2];


ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceHIP* workspace_HIP = new ReSolve::LinAlgWorkspaceHIP();
workspace_HIP->initializeHandles();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace_HIP);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace_HIP);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::GramSchmidt* GS = new ReSolve::GramSchmidt(vector_handler, ReSolve::GramSchmidt::CGS2);

Expand Down
8 changes: 4 additions & 4 deletions examples/r_randGMRES_CUDA.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,17 @@ int main(int argc, char *argv[])
std::string matrixFileName = argv[1];
std::string rhsFileName = argv[2];

ReSolve::matrix::Csr* A;
ReSolve::matrix::Csr* A = nullptr;
ReSolve::LinAlgWorkspaceCUDA* workspace_CUDA = new ReSolve::LinAlgWorkspaceCUDA();
workspace_CUDA->initializeHandles();
ReSolve::MatrixHandler* matrix_handler = new ReSolve::MatrixHandler(workspace_CUDA);
ReSolve::VectorHandler* vector_handler = new ReSolve::VectorHandler(workspace_CUDA);
real_type* rhs = nullptr;
real_type* x = nullptr;

vector_type* vec_rhs;
vector_type* vec_x;
vector_type* vec_r;
vector_type* vec_rhs = nullptr;
vector_type* vec_x = nullptr;
vector_type* vec_r = nullptr;

ReSolve::GramSchmidt* GS = new ReSolve::GramSchmidt(vector_handler, ReSolve::GramSchmidt::CGS2);

Expand Down
Loading