SpikeGPU
1.0.0
|
spike is the top-level namespace which contains all Spike functions and types. More...
Namespaces | |
device | |
spike::device contains all CUDA kernels. | |
Classes | |
struct | IsEqualTo |
struct | Components |
class | system_error |
class | Dijkstra |
class | Node |
class | EdgeT |
class | Graph |
class | Monitor |
class | Precond |
Spike preconditioner. More... | |
struct | Multiply |
struct | SmallerThan |
struct | Options |
Input solver options. More... | |
struct | Stats |
Output solver statistics. More... | |
class | Solver |
Main SPIKE::GPU solver. More... | |
class | SpmvCusp |
Default SPMV functor class. More... | |
class | strided_range |
class | Timer |
Base timer class. More... | |
class | GPUTimer |
GPU timer. More... | |
class | CPUTimer |
CPU timer. More... | |
Typedefs | |
typedef cusp::array1d< int, cusp::host_memory > | IntVectorH |
Enumerations | |
enum | KrylovSolverType { BiCGStab, BiCGStab2 } |
enum | FactorizationMethod { LU_UL, LU_only } |
enum | PreconditionerType { Spike, Block } |
Functions | |
template<typename SolverVector , typename PrecVector , typename IntVector > | |
void | precondSolveWrapper (SolverVector &rhs, SolverVector &sol, std::vector< Precond< PrecVector > * > &precond_pointers, IntVector &compIndices, IntVector &comp_perms, std::vector< IntVector > &comp_reorderings) |
template<typename SpmvOperator , typename SolverVector , typename PrecVector , int L> | |
void | bicgstabl (SpmvOperator &spmv, const SolverVector &b, SolverVector &x, Monitor< SolverVector > &monitor, std::vector< Precond< PrecVector > * > &precond_pointers, IntVectorH &compIndices, IntVectorH &comp_perms, std::vector< IntVectorH > &comp_reorderings) |
Preconditioned BiCGStab(L) Krylov method. More... | |
template<typename SpmvOperator , typename SolverVector , typename PrecVector > | |
void | bicgstab2 (SpmvOperator &spmv, const SolverVector &b, SolverVector &x, Monitor< SolverVector > &monitor, std::vector< Precond< PrecVector > * > &precond_pointers, IntVectorH &compIndices, IntVectorH &comp_perms, std::vector< IntVectorH > &comp_reorderings) |
Specializations of the generic spike::bicgstabl function for L=2. More... | |
template<typename SpmvOperator , typename SolverVector , typename PrecVector > | |
void | bicgstab4 (SpmvOperator &spmv, const SolverVector &b, SolverVector &x, Monitor< SolverVector > &monitor, std::vector< Precond< PrecVector > * > &precond_pointers, IntVectorH &compIndices, IntVectorH &comp_perms, std::vector< IntVectorH > &comp_reorderings) |
Specializations of the generic spike::bicgstabl function for L=4. More... | |
void | kernelConfigAdjust (int &numThreads, int &numBlockX, const int numThreadsMax) |
void | kernelConfigAdjust (int &numThreads, int &numBlockX, int &numBlockY, const int numThreadsMax, const int numBlockXMax) |
Variables | |
const unsigned int | BLOCK_SIZE = 512 |
const unsigned int | MAX_GRID_DIMENSION = 32768 |
const unsigned int | CRITICAL_THRESHOLD = 70 |
spike is the top-level namespace which contains all Spike functions and types.
typedef cusp::array1d<int, cusp::host_memory> spike::IntVectorH |
void spike::bicgstab2 | ( | SpmvOperator & | spmv, |
const SolverVector & | b, | ||
SolverVector & | x, | ||
Monitor< SolverVector > & | monitor, | ||
std::vector< Precond< PrecVector > * > & | precond_pointers, | ||
IntVectorH & | compIndices, | ||
IntVectorH & | comp_perms, | ||
std::vector< IntVectorH > & | comp_reorderings | ||
) |
Specializations of the generic spike::bicgstabl function for L=2.
void spike::bicgstab4 | ( | SpmvOperator & | spmv, |
const SolverVector & | b, | ||
SolverVector & | x, | ||
Monitor< SolverVector > & | monitor, | ||
std::vector< Precond< PrecVector > * > & | precond_pointers, | ||
IntVectorH & | compIndices, | ||
IntVectorH & | comp_perms, | ||
std::vector< IntVectorH > & | comp_reorderings | ||
) |
Specializations of the generic spike::bicgstabl function for L=4.
void spike::bicgstabl | ( | SpmvOperator & | spmv, |
const SolverVector & | b, | ||
SolverVector & | x, | ||
Monitor< SolverVector > & | monitor, | ||
std::vector< Precond< PrecVector > * > & | precond_pointers, | ||
IntVectorH & | compIndices, | ||
IntVectorH & | comp_perms, | ||
std::vector< IntVectorH > & | comp_reorderings | ||
) |
Preconditioned BiCGStab(L) Krylov method.
SpmvOperator | is a functor class for sparse matrix-vector product. |
SolverVector | is the vector type for the linear system solution. |
PrecVector | is the vector type used in the preconditioner. |
L | is the degree of the BiCGStab(L) method. |
|
inline |
|
inline |
void spike::precondSolveWrapper | ( | SolverVector & | rhs, |
SolverVector & | sol, | ||
std::vector< Precond< PrecVector > * > & | precond_pointers, | ||
IntVector & | compIndices, | ||
IntVector & | comp_perms, | ||
std::vector< IntVector > & | comp_reorderings | ||
) |
const unsigned int spike::BLOCK_SIZE = 512 |
const unsigned int spike::CRITICAL_THRESHOLD = 70 |
const unsigned int spike::MAX_GRID_DIMENSION = 32768 |