My Project
|
This class implementa a Blocked ILU0 preconditioner The decomposition is done on CPU, and reorders the rows of the matrix. More...
#include <BILU0.hpp>
Public Member Functions | |
BILU0 (ILUReorder opencl_ilu_reorder, int verbosity) | |
bool | init (BlockedMatrix< block_size > *mat) |
bool | create_preconditioner (BlockedMatrix< block_size > *mat) |
void | apply (cl::Buffer &y, cl::Buffer &x) |
void | setOpenCLContext (cl::Context *context) |
void | setOpenCLQueue (cl::CommandQueue *queue) |
void | setKernelParameters (const unsigned int work_group_size, const unsigned int total_work_items, const unsigned int lmem_per_work_group) |
void | setKernels (cl::KernelFunctor< cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, const unsigned int, const unsigned int, cl::LocalSpaceArg > *ILU_apply1, cl::KernelFunctor< cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, const unsigned int, const unsigned int, cl::LocalSpaceArg > *ILU_apply2, cl::KernelFunctor< cl::Buffer &, const double, const unsigned int > *scale, cl::KernelFunctor< const unsigned int, const unsigned int, cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, cl::Buffer &, const int, cl::LocalSpaceArg > *ilu_decomp) |
int * | getToOrder () |
int * | getFromOrder () |
BlockedMatrix< block_size > * | getRMat () |
This class implementa a Blocked ILU0 preconditioner The decomposition is done on CPU, and reorders the rows of the matrix.