first commit

This commit is contained in:
2026-01-18 20:37:50 +08:00
commit fff9f18287
123 changed files with 1385491 additions and 0 deletions

45
src/TestCG.hpp Normal file
View File

@@ -0,0 +1,45 @@
//@HEADER
// ***************************************************
//
// HPCG: High Performance Conjugate Gradient Benchmark
//
// Contact:
// Michael A. Heroux ( maherou@sandia.gov)
// Jack Dongarra (dongarra@eecs.utk.edu)
// Piotr Luszczek (luszczek@eecs.utk.edu)
//
// ***************************************************
//@HEADER
/*!
@file TestCG.hpp
HPCG data structure
*/
#ifndef TESTCG_HPP
#define TESTCG_HPP
#include "CGData.hpp"
#include "SparseMatrix.hpp"
#include "Vector.hpp"
#include "hpcg.hpp"
struct TestCGData_STRUCT
{
int count_pass; //!< number of succesful tests
int count_fail; //!< number of succesful tests
int expected_niters_no_prec; //!< expected number of test CG iterations without preconditioning with diagonally
//!< dominant matrix (~12)
int expected_niters_prec; //!< expected number of test CG iterations with preconditioning and with diagonally
//!< dominant matrix (~1-2)
int niters_max_no_prec; //!< maximum number of test CG iterations without predictitioner
int niters_max_prec; //!< maximum number of test CG iterations without predictitioner
double normr; //!< residual norm achieved during test CG iterations
};
typedef struct TestCGData_STRUCT TestCGData;
extern int TestCG(SparseMatrix& A, CGData& data, Vector& b, Vector& x, TestCGData& testcg_data);
#endif // TESTCG_HPP