Page MenuHomec4science

cg_main.cc
No OneTemporary

File Metadata

Created
Fri, May 24, 02:01

cg_main.cc

#include "cg.hh"
#include <iostream>
#include <mpi.h>
const int ROOT = 0;
const bool DEBUG = false;
int main(int argc, char ** argv) {
// ---------
// MPI Setup
// ---------
//MPI_Init(&argc, &argv);
MPI_Init(NULL, NULL);
int prank, psize;
MPI_Comm_size(MPI_COMM_WORLD, &psize);
MPI_Comm_rank(MPI_COMM_WORLD, &prank);
if (argc < 2) {
std::cerr << "Usage: " << argv[0] << " [martix-market-filename]"
<< std::endl;
return 1;
}
// ------------
// Solver setup
// ------------
CGSolver solver;
solver.read_matrix(argv[1]);
if (prank == ROOT && DEBUG)
std::cout << "Hey dude" << std::endl;
int n = solver.n();
int m = solver.m();
double h = 1. / n;
solver.init_source_term(h);
// ------------
// Solve system
// ------------
std::vector<double> x_d(n);
std::fill(x_d.begin(), x_d.end(), 0.);
if (prank == ROOT && DEBUG) {
std::cout << "Call CG dense on matrix size (" << m << " x " << n << ")"
<< std::endl;
}
solver.solve(x_d);
MPI_Finalize();
return 0;
}

Event Timeline