My Project
|
This class serves to simplify choosing between different backend solvers, such as cusparseSolver and openclSolver This class is abstract, no instantiations can of it can be made, only of its children. More...
#include <BdaSolver.hpp>
Public Member Functions | |
BdaSolver (int linear_solver_verbosity, int max_it, double tolerance_, unsigned int deviceID_) | |
Construct a BdaSolver, can be cusparseSolver, openclSolver, fpgaSolver. More... | |
BdaSolver (int linear_solver_verbosity, int max_it, double tolerance_, unsigned int platformID_, unsigned int deviceID_) | |
BdaSolver (std::string fpga_bitstream, int linear_solver_verbosity, int max_it, double tolerance_) | |
virtual | ~BdaSolver () |
Define virtual destructor, so that the derivedclass destructor will be called. | |
virtual SolverStatus | solve_system (int N, int nnz, int dim, double *vals, int *rows, int *cols, double *b, WellContributions &wellContribs, BdaResult &res)=0 |
Define as pure virtual functions, so derivedclass must implement them. | |
virtual void | get_result (double *x)=0 |
This class serves to simplify choosing between different backend solvers, such as cusparseSolver and openclSolver This class is abstract, no instantiations can of it can be made, only of its children.
|
inline |
Construct a BdaSolver, can be cusparseSolver, openclSolver, fpgaSolver.
[in] | fpga_bitstream | FPGA bitstream file name (only for fpgaSolver) |
[in] | linear_solver_verbosity | verbosity of solver |
[in] | maxit | maximum number of iterations for solver |
[in] | tolerance | required relative tolerance for solver |
[in] | platformID | the OpenCL platform to be used, only used in openclSolver |
[in] | deviceID | the device to be used |