-
Notifications
You must be signed in to change notification settings - Fork 0
/
hpcg_runner.h
45 lines (38 loc) · 1.3 KB
/
hpcg_runner.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef HPCG_RUN_H
#define HPCG_RUN_H
#include "hpcg.hpp"
#include "CheckAspectRatio.hpp"
#include "GenerateGeometry.hpp"
#include "GenerateProblem.hpp"
#include "GenerateCoarseProblem.hpp"
#include "SetupHalo.hpp"
#include "CheckProblem.hpp"
#include "ExchangeHalo.hpp"
#include "OptimizeProblem.hpp"
#include "WriteProblem.hpp"
#include "ReportResults.hpp"
#include "mytimer.hpp"
#include "ComputeSPMV_ref.hpp"
#include "ComputeMG_ref.hpp"
#include "ComputeResidual.hpp"
#include "CG.hpp"
#include "CG_ref.hpp"
#include "Geometry.hpp"
#include "SparseMatrix.hpp"
#include "Vector.hpp"
#include "CGData.hpp"
#include "TestCG.hpp"
#include "TestSymmetry.hpp"
#include "TestNorms.hpp"
#include <mpi.h>
#include <stdio.h>
#include <iostream>
#include <vector>
void setupProblem(double a, SparseMatrix & A, Vector & b, Vector & x, Vector & xexact, bool distributed);
void setupSPMV( double a, SparseMatrix & A, Vector & b, Vector & x, Vector & xexact );
void runSPMV( SparseMatrix & A, Vector & x, Vector & b );
void resetSPMV( Vector & x, Vector & b );
void setupHPCG(double a, SparseMatrix & A, Vector & b, Vector & x, Vector & xexact, CGData & data);
void runHPCG(SparseMatrix & A, Vector & x, Vector & b, CGData & data, int max_iter);
void resetHPCG( Vector & x, Vector & xorig, CGData & data, CGData & data_orig );
#endif