|
__device__ int | viennacl::linalg::cuda::floorPow2 (int n) |
|
__device__ int | viennacl::linalg::cuda::ceilPow2 (int n) |
|
template<typename NumericT > |
__device__ NumericT | viennacl::linalg::cuda::computeMidpoint (const NumericT left, const NumericT right) |
|
template<class S , class T , class NumericT > |
__device__ void | viennacl::linalg::cuda::storeInterval (unsigned int addr, NumericT *s_left, NumericT *s_right, T *s_left_count, T *s_right_count, NumericT left, NumericT right, S left_count, S right_count, NumericT precision) |
|
template<typename NumericT > |
__device__ unsigned int | viennacl::linalg::cuda::computeNumSmallerEigenvals (const NumericT *g_d, const NumericT *g_s, const unsigned int n, const NumericT x, const unsigned int tid, const unsigned int num_intervals_active, NumericT *s_d, NumericT *s_s, unsigned int converged) |
|
template<typename NumericT > |
__device__ unsigned int | viennacl::linalg::cuda::computeNumSmallerEigenvalsLarge (const NumericT *g_d, const NumericT *g_s, const unsigned int n, const NumericT x, const unsigned int tid, const unsigned int num_intervals_active, NumericT *s_d, NumericT *s_s, unsigned int converged) |
|
template<class S , class T , class NumericT > |
__device__ void | viennacl::linalg::cuda::storeNonEmptyIntervals (unsigned int addr, const unsigned int num_threads_active, NumericT *s_left, NumericT *s_right, T *s_left_count, T *s_right_count, NumericT left, NumericT mid, NumericT right, const S left_count, const S mid_count, const S right_count, NumericT precision, unsigned int &compact_second_chunk, T *s_compaction_list_exc, unsigned int &is_active_second) |
| Store all non-empty intervals resulting from the subdivision of the interval currently processed by the thread. More...
|
|
template<class T > |
__device__ void | viennacl::linalg::cuda::createIndicesCompaction (T *s_compaction_list_exc, unsigned int num_threads_compaction) |
|
template<class T , class NumericT > |
__device__ void | viennacl::linalg::cuda::compactIntervals (NumericT *s_left, NumericT *s_right, T *s_left_count, T *s_right_count, NumericT mid, NumericT right, unsigned int mid_count, unsigned int right_count, T *s_compaction_list, unsigned int num_threads_active, unsigned int is_active_second) |
| Perform stream compaction for second child intervals. More...
|
|
template<class T , class S , class NumericT > |
__device__ void | viennacl::linalg::cuda::storeIntervalConverged (NumericT *s_left, NumericT *s_right, T *s_left_count, T *s_right_count, NumericT &left, NumericT &mid, NumericT &right, S &left_count, S &mid_count, S &right_count, T *s_compaction_list_exc, unsigned int &compact_second_chunk, const unsigned int num_threads_active, unsigned int &is_active_second) |
|
template<class T , class NumericT > |
__device__ void | viennacl::linalg::cuda::subdivideActiveIntervalMulti (const unsigned int tid, NumericT *s_left, NumericT *s_right, T *s_left_count, T *s_right_count, const unsigned int num_threads_active, NumericT &left, NumericT &right, unsigned int &left_count, unsigned int &right_count, NumericT &mid, unsigned int &all_threads_converged) |
| Subdivide interval if active and not already converged. More...
|
|
template<class T , class NumericT > |
__device__ void | viennacl::linalg::cuda::subdivideActiveInterval (const unsigned int tid, NumericT *s_left, NumericT *s_right, T *s_left_count, T *s_right_count, const unsigned int num_threads_active, NumericT &left, NumericT &right, unsigned int &left_count, unsigned int &right_count, NumericT &mid, unsigned int &all_threads_converged) |
| Subdivide interval if active and not already converged. More...
|
|