ViennaCL - The Vienna Computing Library  1.6.0
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
viennacl::linalg::opencl::kernels Namespace Reference

Contains the OpenCL kernel generation functions for a predefined set of functionality. More...

Namespaces

 detail
 Implementation details for the predefined OpenCL kernels.
 

Classes

struct  ambm_config
 Configuration struct for generating OpenCL kernels for linear combinations of matrices. More...
 
struct  asbs_config
 Configuration struct for generating OpenCL kernels for linear combinations of viennacl::scalar<> objects. More...
 
struct  bisect_kernel
 Main kernel class for the generation of the bisection kernels and utilities. More...
 
struct  compressed_compressed_matrix
 Main kernel class for generating OpenCL kernels for compressed_compressed_matrix. More...
 
struct  compressed_matrix
 Main kernel class for generating OpenCL kernels for compressed_matrix. More...
 
struct  coordinate_matrix
 Main kernel class for generating OpenCL kernels for coordinate_matrix. More...
 
struct  ell_matrix
 Main kernel class for generating OpenCL kernels for ell_matrix. More...
 
struct  fft
 Main kernel class for generating OpenCL kernels for the fast Fourier transform. More...
 
struct  hyb_matrix
 Main kernel class for generating OpenCL kernels for hyb_matrix. More...
 
struct  ilu
 Main kernel class for generating OpenCL kernels for incomplete LU factorization preconditioners. More...
 
struct  iterative
 Main kernel class for generating specialized OpenCL kernels for fast iterative solvers. More...
 
class  matrix
 Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More...
 
struct  matrix_element
 Main kernel class for generating OpenCL kernels for elementwise operations other than addition and subtraction on/with viennacl::vector<>. More...
 
struct  matrix_legacy
 Main kernel class for generating OpenCL kernels for operations on/with dense matrix objects of type viennacl::matrix<>. More...
 
class  matrix_prod
 Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More...
 
struct  matrix_solve
 Main kernel class for the generation of matrix solve kernels. More...
 
struct  nmf
 Main kernel class for generating OpenCL kernels for nonnegative matrix factorization of a dense matrices. More...
 
class  row_wise_reduction
 Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More...
 
struct  scalar
 Main kernel class for generating OpenCL kernels for operations involving viennacl::scalar<>, but not viennacl::vector<> or viennacl::matrix<>. More...
 
struct  sliced_ell_matrix
 Main kernel class for generating OpenCL kernels for ell_matrix. More...
 
struct  sliced_ell_matrix< NumericT, unsigned int >
 
struct  spai
 Main kernel class for generating OpenCL kernels for the sparse approximate inverse preconditioners. More...
 
struct  svd
 Main kernel class for generating OpenCL kernels for singular value decomposition of dense matrices. More...
 
class  vector
 Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More...
 
struct  vector_element
 Main kernel class for generating OpenCL kernels for elementwise operations other than addition and subtraction on/with viennacl::vector<>. More...
 
class  vector_multi_inner_prod
 Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More...
 

Enumerations

enum  ambm_scalar_type { VIENNACL_AMBM_NONE = 0, VIENNACL_AMBM_CPU, VIENNACL_AMBM_GPU }
 Enumeration for the scalar type in ambm-like operations. More...
 
enum  asbs_scalar_type { VIENNACL_ASBS_NONE = 0, VIENNACL_ASBS_CPU, VIENNACL_ASBS_GPU }
 Enumeration for the scalar type in avbv-like operations. More...
 

Functions

template<typename StringType >
void generate_bisect_kernel_config (StringType &source)
 
template<typename StringType >
void generate_bisect_kernel_floorPow2 (StringType &source, std::string const &numeric_string)
 OpenCL function for computing the next lower power of two of n. More...
 
template<typename StringType >
void generate_bisect_kernel_ceilPow2 (StringType &source, std::string const &numeric_string)
 OpenCL function for computing the next higher power of two of n. More...
 
template<typename StringType >
void generate_bisect_kernel_computeMidpoint (StringType &source, std::string const &numeric_string)
 OpenCL function for computing the midpoint of an interval [left, right] avoiding overflow if possible. More...
 
template<typename StringType >
void generate_bisect_kernel_storeInterval (StringType &source, std::string const &numeric_string)
 OpenCL function for checking if interval converged and store appropriately. More...
 
template<typename StringType >
void generate_bisect_kernel_storeIntervalShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_computeNumSmallerEigenvals (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_computeNumSmallerEigenvalsLarge (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_storeNonEmptyIntervals (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_storeNonEmptyIntervalsLarge (StringType &source, std::string const &numeric_string)
 OpenCL function for storing all non-empty intervals resulting from the subdivision of the interval currently processed by the thread. More...
 
template<typename StringType >
void generate_bisect_kernel_createIndicesCompaction (StringType &source, std::string const &numeric_string)
 OpenCL function for creating indices for compaction. More...
 
template<typename StringType >
void generate_bisect_kernel_createIndicesCompactionShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_compactIntervals (StringType &source, std::string const &numeric_string)
 OpenCL function for performing stream compaction for second child intervals. More...
 
template<typename StringType >
void generate_bisect_kernel_compactIntervalsShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_storeIntervalConverged (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_storeIntervalConvergedShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_subdivideActiveInterval (StringType &source, std::string const &numeric_string)
 Subdivide interval if active and not already converged. More...
 
template<typename StringType >
void generate_bisect_kernel_subdivideActiveIntervalShort (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_bisectKernel (StringType &source, std::string const &numeric_string)
 OpenCL kernel for bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix. More...
 
template<typename StringType >
void generate_bisect_kernel_bisectKernelLarge_MultIntervals (StringType &source, std::string const &numeric_string)
 Perform second step of bisection algorithm for large matrices for intervals that after the first step contained more than one eigenvalue. More...
 
template<typename StringType >
void generate_bisect_kernel_bisectKernelLarge_OneIntervals (StringType &source, std::string const &numeric_string)
 OpenCL kernel for Determining eigenvalues for large matrices for intervals that after the first step contained one eigenvalue. More...
 
template<typename StringType >
void generate_bisect_kernel_writeToGmem (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_compactStreamsFinal (StringType &source, std::string const &numeric_string)
 OpenCL function for performing final stream compaction before writing data to global memory. More...
 
template<typename StringType >
void generate_bisect_kernel_scanCompactBlocksStartAddress (StringType &source, std::string const &numeric_string)
 OpenCL function for computing addresses to obtain compact list of block start addresses. More...
 
template<typename StringType >
void generate_bisect_kernel_scanSumBlocks (StringType &source, std::string const &numeric_string)
 OpenCL function for performing scan to obtain number of eigenvalues before a specific block. More...
 
template<typename StringType >
void generate_bisect_kernel_scanInitial (StringType &source, std::string const &numeric_string)
 Perform initial scan for compaction of intervals containing one and multiple eigenvalues; also do initial scan to build blocks. More...
 
template<typename StringType >
void generate_bisect_kernel_bisectKernelLarge (StringType &source, std::string const &numeric_string)
 OpenCL kernel for bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix. More...
 
template<typename StringT >
void generate_vec_mul (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_block_trans_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_block_trans_unit_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_jacobi (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_row_info_extractor (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_trans_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_trans_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_trans_unit_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_trans_unit_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_trans_unit_lu_forward_slow (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_unit_lu_backward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_unit_lu_forward (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_vec_mul (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_vec_mul4 (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_vec_mul8 (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_vec_mul_cpu (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_coordinate_matrix_vec_mul (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_coordinate_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_coordinate_matrix_row_info_extractor (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ell_vec_mul (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ell_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_fft_bluestein_post (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_fft_bluestein_pre (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_fft_complex_to_real (StringT &source, std::string const &numeric_string)
 Extract real part of a complex number array. More...
 
template<typename StringT >
void generate_fft_div_vec_scalar (StringT &source, std::string const &numeric_string)
 OpenCL kernel generation code for dividing a complex number by a real number. More...
 
template<typename StringT >
void generate_fft_mult_vec (StringT &source, std::string const &numeric_string)
 Elementwise product of two complex vectors. More...
 
template<typename StringT >
void generate_fft_real_to_complex (StringT &source, std::string const &numeric_string)
 Embedds a real-valued vector into a complex one. More...
 
template<typename StringT >
void generate_fft_reverse_inplace (StringT &source, std::string const &numeric_string)
 Reverses the entries in a vector. More...
 
template<typename StringT >
void generate_fft_transpose (StringT &source, std::string const &numeric_string)
 Simplistic matrix transpose function. More...
 
template<typename StringT >
void generate_fft_transpose_inplace (StringT &source, std::string const &numeric_string)
 Simplistic inplace matrix transpose function. More...
 
template<typename StringT >
void generate_fft_vandermonde_prod (StringT &source, std::string const &numeric_string)
 Computes the matrix vector product with a Vandermonde matrix. More...
 
template<typename StringT >
void generate_fft_zero2 (StringT &source, std::string const &numeric_string)
 Zero two complex vectors (to avoid kernel launch overhead) More...
 
template<typename StringT >
void generate_hyb_vec_mul (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_hyb_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ilu_level_scheduling_substitute (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_pipelined_cg_vector_update (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_coordinate_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ell_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_sliced_ell_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_hyb_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_pipelined_bicgstab_update_s (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_pipelined_bicgstab_vector_update (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_coordinate_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ell_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_sliced_ell_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_hyb_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_pipelined_gmres_gram_schmidt_stage1 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_pipelined_gmres_gram_schmidt_stage2 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_pipelined_gmres_normalize_vk (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_pipelined_gmres_update_result (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_compressed_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_coordinate_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_ell_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_sliced_ell_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_hyb_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_fft (StringT &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_lu (StringT &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_scaled_rank1_update (StringT &source, std::string const &numeric_string, bool is_row_major, bool alpha_on_cpu)
 
template<typename StringT >
void generate_triangular_substitute_inplace (StringT &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_trans_kernel (StringT &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_matrix_solve_blas3 (StringT &source, std::string const &numeric_string, bool row_major_A, bool row_major_B, bool transpose_A, bool transpose_B, bool upper_solve, bool unit_diagonal)
 
template<typename StringT >
void generate_nmf_el_wise_mul_div (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_asbs_impl3 (StringT &source, char sign_a, char sign_b, asbs_config const &cfg, bool mult_alpha, bool mult_beta)
 
template<typename StringT >
void generate_asbs_impl2 (StringT &source, char sign_a, char sign_b, asbs_config const &cfg)
 
template<typename StringT >
void generate_asbs_impl (StringT &source, std::string const &numeric_string, asbs_config const &cfg)
 
template<typename StringT >
void generate_asbs (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_scalar_swap (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_sliced_ell_vec_mul (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_spai_assemble_blocks (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_spai_block_bv_assembly (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_spai_block_least_squares (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_spai_block_q_mult (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_spai_block_qr (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_spai_block_qr_assembly (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_spai_block_qr_assembly_1 (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_spai_block_r_assembly (StringT &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_bidiag_pack (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_svd_col_reduce_lcl_array (StringT &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_copy_col (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringType >
void generate_svd_copy_row (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_svd_final_iter_update (StringT &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_givens_next (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_svd_givens_prev (StringT &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_house_update_A_left (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringType >
void generate_svd_house_update_A_right (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringType >
void generate_svd_house_update_QL (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_svd_house_update_QR (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_svd_inverse_signs (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_svd_transpose_inplace (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_svd_update_qr_column (StringT &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_inclusive_scan_kernel_1 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_exclusive_scan_kernel_1 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_scan_kernel_2 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_scan_kernel_3 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_svd_scan_kernel_4 (StringType &source, std::string const &numeric_string)
 

Detailed Description

Contains the OpenCL kernel generation functions for a predefined set of functionality.

Enumeration Type Documentation

Enumeration for the scalar type in ambm-like operations.

Enumerator
VIENNACL_AMBM_NONE 
VIENNACL_AMBM_CPU 
VIENNACL_AMBM_GPU 

Definition at line 30 of file matrix.hpp.

Enumeration for the scalar type in avbv-like operations.

Enumerator
VIENNACL_ASBS_NONE 
VIENNACL_ASBS_CPU 
VIENNACL_ASBS_GPU 

Definition at line 23 of file scalar.hpp.

Function Documentation

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_asbs ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 183 of file scalar.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_asbs_impl ( StringT &  source,
std::string const &  numeric_string,
asbs_config const &  cfg 
)

Definition at line 89 of file scalar.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_asbs_impl2 ( StringT &  source,
char  sign_a,
char  sign_b,
asbs_config const &  cfg 
)

Definition at line 62 of file scalar.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_asbs_impl3 ( StringT &  source,
char  sign_a,
char  sign_b,
asbs_config const &  cfg,
bool  mult_alpha,
bool  mult_beta 
)

Definition at line 43 of file scalar.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernel ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL kernel for bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix.

g_d diagonal elements in global memory g_s superdiagonal elements in global elements (stored so that the element *(g_s - 1) can be accessed an equals 0 n size of matrix lg lower bound of input interval (e.g. Gerschgorin interval) ug upper bound of input interval (e.g. Gerschgorin interval) lg_eig_count number of eigenvalues that are smaller than lg lu_eig_count number of eigenvalues that are smaller than lu epsilon desired accuracy of eigenvalues to compute

Definition at line 1062 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL kernel for bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix.

g_d diagonal elements in global memory g_s superdiagonal elements in global elements (stored so that the element *(g_s - 1) can be accessed an equals 0 n size of matrix lg lower bound of input interval (e.g. Gerschgorin interval) ug upper bound of input interval (e.g. Gerschgorin interval) lg_eig_count number of eigenvalues that are smaller than lg lu_eig_count number of eigenvalues that are smaller than lu epsilon desired accuracy of eigenvalues to compute

Definition at line 2114 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge_MultIntervals ( StringType &  source,
std::string const &  numeric_string 
)

Perform second step of bisection algorithm for large matrices for intervals that after the first step contained more than one eigenvalue.

g_d diagonal elements of symmetric, tridiagonal matrix g_s superdiagonal elements of symmetric, tridiagonal matrix n matrix size blocks_mult start addresses of blocks of intervals that are processed by one block of threads, each of the intervals contains more than one eigenvalue blocks_mult_sum total number of eigenvalues / singleton intervals in one block of intervals g_left left limits of intervals g_right right limits of intervals g_left_count number of eigenvalues less than left limits g_right_count number of eigenvalues less than right limits g_lambda final eigenvalue g_pos index of eigenvalue (in ascending order) precision desired precision of eigenvalues

Definition at line 1292 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge_OneIntervals ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL kernel for Determining eigenvalues for large matrices for intervals that after the first step contained one eigenvalue.

g_d diagonal elements of symmetric, tridiagonal matrix g_s superdiagonal elements of symmetric, tridiagonal matrix n matrix size num_intervals total number of intervals containing one eigenvalue after the first step g_left left interval limits g_right right interval limits g_pos index of interval / number of intervals that are smaller than right interval limit precision desired precision of eigenvalues

Definition at line 1528 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_ceilPow2 ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for computing the next higher power of two of n.

n ... number for which next higher power of two is seeked

Definition at line 89 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactIntervals ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for performing stream compaction for second child intervals.

s_left shared memory storage for left interval limits s_right shared memory storage for right interval limits s_left_count shared memory storage for number of eigenvalues less than left interval limits s_right_count shared memory storage for number of eigenvalues less than right interval limits mid midpoint of current interval (left of new interval) right upper limit of interval mid_count eigenvalues less than mid s_compaction_list list containing the indices where the data has to be stored num_threads_active number of active threads / intervals

is_active_second mark is thread has a second non-empty child interval

Definition at line 719 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactIntervalsShort ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 759 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactStreamsFinal ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for performing final stream compaction before writing data to global memory.

Definition at line 1732 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeMidpoint ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for computing the midpoint of an interval [left, right] avoiding overflow if possible.

left ... left / lower limit of interval right ... right / upper limit of interval

Definition at line 121 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeNumSmallerEigenvals ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for computing the number of eigenvalues that are smaller than x given a symmetric, real, and tridiagonal matrix

g_d diagonal elements stored in global memory g_s superdiagonal elements stored in global memory n size of matrix x value for which the number of eigenvalues that are smaller is sought tid thread identified (e.g. threadIdx.x or gtid) num_intervals_active number of active intervals / threads that currently process an interval s_d scratch space to store diagonal entries of the tridiagonal matrix in shared memory s_s scratch space to store superdiagonal entries of the tridiagonal matrix in shared memory converged flag if the current thread is already converged (that is count does not have to be computed)

Definition at line 278 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeNumSmallerEigenvalsLarge ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for computing the number of eigenvalues that are smaller than x given a symmetric, real, and tridiagonal matrix

g_d diagonal elements stored in global memory g_s superdiagonal elements stored in global memory n size of matrix x value for which the number of eigenvalues that are smaller is sought tid thread identified (e.g. threadIdx.x or gtid) num_intervals_active number of active intervals / threads that currently process an interval s_d scratch space to store diagonal entries of the tridiagonal matrix in shared memory s_s scratch space to store superdiagonal entries of the tridiagonal matrix in shared memory converged flag if the current thread is already converged (that is count does not have to be computed)

Definition at line 348 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_config ( StringType &  source)

Definition at line 43 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_createIndicesCompaction ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for creating indices for compaction.

Process s_compaction_list_exc, which is 1 for intervals that generated a second child and 0 otherwise and create for each of the non-zero elements the index where the new interval belongs to in a compact representation of all generated second children

s_compaction_list_exc list containing the flags which threads generated two children num_threads_compaction number of threads to employ for compaction

Definition at line 579 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_createIndicesCompactionShort ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 643 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_floorPow2 ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for computing the next lower power of two of n.

n ... number for which next higher power of two is seeked

Definition at line 58 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanCompactBlocksStartAddress ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for computing addresses to obtain compact list of block start addresses.

Definition at line 1848 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanInitial ( StringType &  source,
std::string const &  numeric_string 
)

Perform initial scan for compaction of intervals containing one and multiple eigenvalues; also do initial scan to build blocks.

Definition at line 1998 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanSumBlocks ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for performing scan to obtain number of eigenvalues before a specific block.

Definition at line 1925 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeInterval ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for checking if interval converged and store appropriately.

addr address where to store the information of the interval s_left shared memory storage for left interval limits s_right shared memory storage for right interval limits s_left_count shared memory storage for number of eigenvalues less than left interval limits s_right_count shared memory storage for number of eigenvalues less than right interval limits left lower limit of interval right upper limit of interval left_count eigenvalues less than left right_count eigenvalues less than right precision desired precision for eigenvalues

Definition at line 164 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalConverged ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 798 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalConvergedShort ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 866 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalShort ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 214 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeNonEmptyIntervals ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for Storing all non-empty intervals resulting from the subdivision of the interval currently processed by the thread

addr base address for storing intervals num_threads_active number of threads / intervals in current sweep s_left shared memory storage for left interval limits s_right shared memory storage for right interval limits s_left_count shared memory storage for number of eigenvalues less than left interval limits s_right_count shared memory storage for number of eigenvalues less than right interval limits left lower limit of interval mid midpoint of interval right upper limit of interval left_count eigenvalues less than left mid_count eigenvalues less than mid right_count eigenvalues less than right precision desired precision for eigenvalues compact_second_chunk shared mem flag if second chunk is used and ergo requires compaction s_compaction_list_exc helper array for stream compaction, s_compaction_list_exc[tid] = 1 when the thread generated two child intervals is_active_interval mark is thread has a second non-empty child interval

Definition at line 435 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeNonEmptyIntervalsLarge ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for storing all non-empty intervals resulting from the subdivision of the interval currently processed by the thread.

Definition at line 506 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_subdivideActiveInterval ( StringType &  source,
std::string const &  numeric_string 
)

Subdivide interval if active and not already converged.

tid id of thread s_left shared memory storage for left interval limits s_right shared memory storage for right interval limits s_left_count shared memory storage for number of eigenvalues less than left interval limits s_right_count shared memory storage for number of eigenvalues less than right interval limits num_threads_active number of active threads in warp left lower limit of interval right upper limit of interval left_count eigenvalues less than left right_count eigenvalues less than right all_threads_converged shared memory flag if all threads are converged

Definition at line 944 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_subdivideActiveIntervalShort ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 996 of file bisect.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_writeToGmem ( StringType &  source,
std::string const &  numeric_string 
)

OpenCL function for writing data to global memory

Definition at line 1643 of file bisect.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_block_trans_lu_backward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 25 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_block_trans_unit_lu_forward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 64 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_dense_matrix_multiplication ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 169 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_jacobi ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 183 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_lu_backward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 216 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_lu_forward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 299 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_pipelined_bicgstab_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 533 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_pipelined_cg_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 76 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_pipelined_gmres_prod ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 1128 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_row_info_extractor ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 374 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_lu_backward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 429 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_lu_forward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 503 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_unit_lu_backward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 575 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_unit_lu_forward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 645 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_trans_unit_lu_forward_slow ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 712 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_unit_lu_backward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 743 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_unit_lu_forward ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 824 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 896 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul4 ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 921 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul8 ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 962 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul_cpu ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 1008 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_coordinate_matrix_dense_matrix_multiplication ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 194 of file coordinate_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_coordinate_matrix_pipelined_bicgstab_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 591 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_coordinate_matrix_pipelined_cg_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 126 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_coordinate_matrix_pipelined_gmres_prod ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 1150 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_coordinate_matrix_row_info_extractor ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 208 of file coordinate_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_coordinate_matrix_vec_mul ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 25 of file coordinate_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_ell_matrix_dense_matrix_multiplication ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 138 of file ell_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_ell_matrix_pipelined_bicgstab_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 704 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_ell_matrix_pipelined_cg_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 229 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_ell_matrix_pipelined_gmres_prod ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 1175 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_ell_vec_mul ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 25 of file ell_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft ( StringT &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 53 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_bluestein_post ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 25 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_bluestein_pre ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 52 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_complex_to_real ( StringT &  source,
std::string const &  numeric_string 
)

Extract real part of a complex number array.

Definition at line 89 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_div_vec_scalar ( StringT &  source,
std::string const &  numeric_string 
)

OpenCL kernel generation code for dividing a complex number by a real number.

Definition at line 101 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_mult_vec ( StringT &  source,
std::string const &  numeric_string 
)

Elementwise product of two complex vectors.

Definition at line 113 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_real_to_complex ( StringT &  source,
std::string const &  numeric_string 
)

Embedds a real-valued vector into a complex one.

Definition at line 130 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_reverse_inplace ( StringT &  source,
std::string const &  numeric_string 
)

Reverses the entries in a vector.

Definition at line 145 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_transpose ( StringT &  source,
std::string const &  numeric_string 
)

Simplistic matrix transpose function.

Definition at line 160 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_transpose_inplace ( StringT &  source,
std::string const &  numeric_string 
)

Simplistic inplace matrix transpose function.

Definition at line 180 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_vandermonde_prod ( StringT &  source,
std::string const &  numeric_string 
)

Computes the matrix vector product with a Vandermonde matrix.

Definition at line 203 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_fft_zero2 ( StringT &  source,
std::string const &  numeric_string 
)

Zero two complex vectors (to avoid kernel launch overhead)

Definition at line 226 of file fft.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_hyb_matrix_dense_matrix_multiplication ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 158 of file hyb_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_hyb_matrix_pipelined_bicgstab_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 836 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_hyb_matrix_pipelined_cg_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 345 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_hyb_matrix_pipelined_gmres_prod ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 1220 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_hyb_vec_mul ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 25 of file hyb_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_ilu_level_scheduling_substitute ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 20 of file ilu.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_lu ( StringT &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 275 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_matrix_solve_blas3 ( StringT &  source,
std::string const &  numeric_string,
bool  row_major_A,
bool  row_major_B,
bool  transpose_A,
bool  transpose_B,
bool  upper_solve,
bool  unit_diagonal 
)

Definition at line 23 of file matrix_solve.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_nmf_el_wise_mul_div ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 21 of file nmf.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_pipelined_bicgstab_update_s ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 415 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_pipelined_bicgstab_vector_update ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 478 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_pipelined_cg_vector_update ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 32 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_pipelined_gmres_gram_schmidt_stage1 ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 913 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_pipelined_gmres_gram_schmidt_stage2 ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 970 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_pipelined_gmres_normalize_vk ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 1041 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_pipelined_gmres_update_result ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 1102 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_scalar_swap ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 209 of file scalar.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_scaled_rank1_update ( StringT &  source,
std::string const &  numeric_string,
bool  is_row_major,
bool  alpha_on_cpu 
)

Definition at line 330 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_sliced_ell_matrix_pipelined_bicgstab_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 768 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_sliced_ell_matrix_pipelined_cg_prod ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 285 of file iterative.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_sliced_ell_matrix_pipelined_gmres_prod ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 1198 of file iterative.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_sliced_ell_vec_mul ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 25 of file sliced_ell_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_spai_assemble_blocks ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 23 of file spai.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_spai_block_bv_assembly ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 84 of file spai.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_spai_block_least_squares ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 121 of file spai.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_spai_block_q_mult ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 187 of file spai.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_spai_block_qr ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 263 of file spai.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_spai_block_qr_assembly ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 397 of file spai.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_spai_block_qr_assembly_1 ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 454 of file spai.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_spai_block_r_assembly ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 494 of file spai.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_bidiag_pack ( StringType &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 21 of file svd.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_svd_col_reduce_lcl_array ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 51 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_copy_col ( StringType &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 68 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_copy_row ( StringType &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 97 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_exclusive_scan_kernel_1 ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 681 of file svd.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_svd_final_iter_update ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 126 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_givens_next ( StringType &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 150 of file svd.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_svd_givens_prev ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 255 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_house_update_A_left ( StringType &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 317 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_house_update_A_right ( StringType &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 365 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_house_update_QL ( StringType &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 432 of file svd.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_svd_house_update_QR ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 491 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_inclusive_scan_kernel_1 ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 624 of file svd.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_svd_inverse_signs ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 532 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_scan_kernel_2 ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 739 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_scan_kernel_3 ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 789 of file svd.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_svd_scan_kernel_4 ( StringType &  source,
std::string const &  numeric_string 
)

Definition at line 814 of file svd.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_svd_transpose_inplace ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 550 of file svd.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_svd_update_qr_column ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 577 of file svd.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_trans_kernel ( StringT &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 436 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_triangular_substitute_inplace ( StringT &  source,
std::string const &  numeric_string,
bool  is_row_major 
)

Definition at line 382 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_vec_mul ( StringT &  source,
std::string const &  numeric_string 
)

Definition at line 23 of file compressed_compressed_matrix.hpp.