ViennaCL - The Vienna Computing Library  1.7.1
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  amg
 Main kernel class for generating OpenCL kernels for compressed_matrix. More...
 
struct  asbs_config
 Configuration struct for generating OpenCL kernels for linear combinations of viennacl::scalar<> objects. More...
 
struct  avbv_config
 Configuration struct for generating OpenCL kernels for linear combinations of vectors. 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 (except solvers). More...
 
struct  compressed_matrix_solve
 Main kernel class for triangular solver 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...
 
struct  matrix
 Main kernel class for generating OpenCL kernels for operations on/with dense matrix objects of type viennacl::matrix<>. More...
 
struct  matrix_convert
 Main kernel class for vector conversion routines (e.g. convert vector<int> to vector<float>). More...
 
struct  matrix_element
 Main kernel class for generating OpenCL kernels for elementwise-operations such as element_sin() on/with dense matrix objects of type viennacl::matrix<>. 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...
 
struct  scalar
 Main kernel class for generating OpenCL kernels for operations involving viennacl::scalar<>, but not viennacl::vector<> or viennacl::matrix<>. More...
 
struct  scan
 Main kernel class for generating OpenCL kernels for singular value decomposition of dense matrices. 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...
 
struct  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_convert
 Main kernel class for vector conversion routines (e.g. convert vector<int> to vector<float>). More...
 
struct  vector_element
 Main kernel class for generating OpenCL kernels for elementwise operations other than addition and subtraction on/with viennacl::vector<>. More...
 
struct  vector_multi_inner_prod
 Main kernel class for generating OpenCL kernels for multiple inner products on/with viennacl::vector<>. 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...
 
enum  avbv_scalar_type { VIENNACL_AVBV_NONE = 0, VIENNACL_AVBV_CPU, VIENNACL_AVBV_GPU }
 Enumeration for the scalar type in avbv-like operations. More...
 

Functions

template<typename StringT >
void generate_amg_influence_trivial (StringT &source)
 
template<typename StringT >
void generate_amg_pmis2_init_workdata (StringT &source)
 
template<typename StringT >
void generate_amg_pmis2_max_neighborhood (StringT &source)
 
template<typename StringT >
void generate_amg_pmis2_mark_mis_nodes (StringT &source)
 
template<typename StringT >
void generate_amg_pmis2_reset_state (StringT &source)
 
template<typename StringT >
void generate_amg_agg_propagate_coarse_indices (StringT &source)
 
template<typename StringT >
void generate_amg_agg_merge_undecided (StringT &source)
 
template<typename StringT >
void generate_amg_agg_merge_undecided_2 (StringT &source)
 
template<typename StringT >
void generate_amg_interpol_ag (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_amg_interpol_sa (StringT &source, std::string const &numeric_string)
 
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)
 
template<typename StringType >
void generate_bisect_kernel_ceilPow2 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_computeMidpoint (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_storeInterval (StringType &source, std::string const &numeric_string)
 
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)
 
template<typename StringType >
void generate_bisect_kernel_createIndicesCompaction (StringType &source)
 
template<typename StringType >
void generate_bisect_kernel_createIndicesCompactionShort (StringType &source)
 
template<typename StringType >
void generate_bisect_kernel_compactIntervals (StringType &source, std::string const &numeric_string)
 
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)
 
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)
 
template<typename StringType >
void generate_bisect_kernel_bisectKernelLarge_MultIntervals (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_bisect_kernel_bisectKernelLarge_OneIntervals (StringType &source, std::string const &numeric_string)
 
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)
 
template<typename StringType >
void generate_bisect_kernel_scanCompactBlocksStartAddress (StringType &source)
 
template<typename StringType >
void generate_bisect_kernel_scanSumBlocks (StringType &source)
 
template<typename StringType >
void generate_bisect_kernel_scanInitial (StringType &source)
 
template<typename StringType >
void generate_bisect_kernel_bisectKernelLarge (StringType &source, std::string const &numeric_string)
 
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_nvidia (StringT &source, std::string const &numeric_string, unsigned int subwarp_size, bool with_alpha_beta)
 
template<typename StringT >
void generate_compressed_matrix_vec_mul (StringT &source, std::string const &numeric_string, bool with_alpha_beta)
 
template<typename StringT >
void generate_compressed_matrix_vec_mul4 (StringT &source, std::string const &numeric_string, bool with_alpha_beta)
 
template<typename StringT >
void generate_compressed_matrix_vec_mul8 (StringT &source, std::string const &numeric_string, bool with_alpha_beta)
 
template<typename StringT >
void generate_compressed_matrix_vec_mul_cpu (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_compressed_matrix_prod_1 (StringT &source)
 OpenCL kernel for the first stage of sparse matrix-matrix multiplication. More...
 
template<typename StringT >
void generate_compressed_matrix_compressed_matrix_prod_decompose_1 (StringT &source)
 OpenCL kernel for decomposing A in C = A * B, such that A = A_2 * G_1 with G_1 containing at most 32 nonzeros per row. More...
 
template<typename StringT >
void generate_compressed_matrix_compressed_matrix_prod_A2 (StringT &source, std::string const &numeric_string)
 OpenCL kernel for filling A_2 in the decomposition A = A_2 * G_1, with G_1 containing at most 32 nonzeros per row. More...
 
template<typename StringT >
void generate_compressed_matrix_compressed_matrix_prod_G1 (StringT &source, std::string const &numeric_string)
 OpenCL kernel for filling G_1 in the decomposition A = A_2 * G_1, with G_1 containing at most 32 nonzeros per row. More...
 
template<typename StringT >
void generate_compressed_matrix_compressed_matrix_prod_2 (StringT &source)
 OpenCL kernel for the second stage of sparse matrix-matrix multiplication. More...
 
template<typename StringT >
void generate_compressed_matrix_compressed_matrix_prod_3 (StringT &source, std::string const &numeric_string)
 OpenCL kernel for the third stage of sparse matrix-matrix multiplication. More...
 
template<typename StringT >
void generate_compressed_matrix_compressed_matrix_prod (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_compressed_matrix_assign_to_dense (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, bool with_alpha_beta)
 
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, bool with_alpha_beta)
 
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_icc_extract_L_1 (StringT &source)
 
template<typename StringT >
void generate_icc_extract_L_2 (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_icc_chow_patel_sweep_kernel (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ilu_extract_LU_1 (StringT &source)
 
template<typename StringT >
void generate_ilu_extract_LU_2 (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ilu_scale_kernel_1 (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ilu_scale_kernel_2 (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ilu_chow_patel_sweep_kernel (StringT &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_ilu_form_neumann_matrix_kernel (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_blocked_prod (StringT &source, std::string const &numeric_string, unsigned int subwarp_size)
 
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_blocked_prod (StringT &source, std::string const &numeric_string, unsigned int subwarp_size)
 
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, bool is_nvidia)
 
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_blocked_prod (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 StringType >
void generate_ambm_impl2 (StringType &source, ambm_config const &cfg, bool mult_alpha, bool mult_beta)
 
template<typename StringType >
void generate_ambm_impl (StringType &source, std::string const &numeric_string, ambm_config const &cfg)
 
template<typename StringType >
void generate_ambm (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringType >
void generate_assign_cpu (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringType >
void generate_diagonal_assign_cpu (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringType >
void generate_element_op (StringType &source, std::string const &numeric_string, bool is_row_major)
 
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 StringType >
void generate_trans_vec_mul (StringType &source, std::string const &numeric_string, bool is_row_major)
 
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 StringType >
void generate_vec_mul (StringType &source, std::string const &numeric_string, bool is_row_major)
 
template<typename StringT >
void generate_matrix_convert_row (StringT &source, std::string const &dest_type, std::string const &src_type)
 
template<typename StringT >
void generate_matrix_convert_col (StringT &source, std::string const &dest_type, std::string const &src_type)
 
template<typename StringT >
void generate_matrix_convert (StringT &source, std::string const &dest_type, std::string const &src_type)
 
template<typename StringType >
void generate_matrix_unary_element_ops (StringType &source, std::string const &numeric_string, std::string const &funcname, std::string const &op, std::string const &op_name, bool is_row_major)
 
template<typename StringType >
void generate_matrix_unary_element_ops (StringType &source, std::string const &numeric_string, std::string const &funcname, 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 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 StringType >
void generate_scan_kernel_1 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_scan_kernel_2 (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_scan_kernel_3 (StringType &source, std::string const &numeric_string)
 
template<typename StringT >
void generate_sliced_ell_vec_mul (StringT &source, std::string const &numeric_string, bool with_alpha_beta)
 
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_avbv_impl2 (StringType &source, std::string const &, avbv_config const &cfg, bool mult_alpha, bool mult_beta)
 
template<typename StringType >
void generate_avbv_impl (StringType &source, std::string const &numeric_string, avbv_config const &cfg)
 
template<typename StringType >
void generate_avbv (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_plane_rotation (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_vector_swap (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_assign_cpu (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_inner_prod (StringType &source, std::string const &numeric_string, vcl_size_t vector_num)
 
template<typename StringType >
void generate_norm (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_inner_prod_sum (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_sum (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_index_norm_inf (StringType &source, std::string const &numeric_string)
 
template<typename StringType >
void generate_maxmin (StringType &source, std::string const &numeric_string, bool is_max)
 
template<typename StringT >
void generate_vector_convert (StringT &source, std::string const &dest_type, std::string const &src_type)
 
template<typename StringT >
void generate_vector_unary_element_ops (StringT &source, std::string const &numeric_string, std::string const &funcname, std::string const &op, std::string const &op_name)
 
template<typename StringT >
void generate_vector_unary_element_ops (StringT &source, std::string const &numeric_string, std::string const &funcname)
 
template<typename StringT >
void generate_vector_binary_element_ops (StringT &source, std::string const &numeric_string, int op_type)
 

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 44 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 40 of file scalar.hpp.

Enumeration for the scalar type in avbv-like operations.

Enumerator
VIENNACL_AVBV_NONE 
VIENNACL_AVBV_CPU 
VIENNACL_AVBV_GPU 

Definition at line 47 of file vector.hpp.

Function Documentation

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

Definition at line 252 of file matrix.hpp.

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

Definition at line 143 of file matrix.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_ambm_impl2 ( StringType &  source,
ambm_config const &  cfg,
bool  mult_alpha,
bool  mult_beta 
)

Definition at line 66 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_amg_agg_merge_undecided ( StringT &  source)

Definition at line 230 of file amg.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_amg_agg_merge_undecided_2 ( StringT &  source)

Definition at line 261 of file amg.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_amg_agg_propagate_coarse_indices ( StringT &  source)

Definition at line 200 of file amg.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_amg_influence_trivial ( StringT &  source)

Definition at line 24 of file amg.hpp.

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

Definition at line 277 of file amg.hpp.

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

Definition at line 299 of file amg.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_amg_pmis2_init_workdata ( StringT &  source)

Definition at line 54 of file amg.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_amg_pmis2_mark_mis_nodes ( StringT &  source)

Definition at line 141 of file amg.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_amg_pmis2_max_neighborhood ( StringT &  source)

Definition at line 83 of file amg.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_amg_pmis2_reset_state ( StringT &  source)

Definition at line 179 of file amg.hpp.

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

Definition at line 200 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 106 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 79 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 60 of file scalar.hpp.

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

Definition at line 279 of file matrix.hpp.

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

Definition at line 289 of file vector.hpp.

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

Definition at line 209 of file vector.hpp.

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

Definition at line 106 of file vector.hpp.

template<typename StringType >
void viennacl::linalg::opencl::kernels::generate_avbv_impl2 ( StringType &  source,
std::string const &  ,
avbv_config const &  cfg,
bool  mult_alpha,
bool  mult_beta 
)

Definition at line 67 of file vector.hpp.

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

Definition at line 1085 of file bisect.hpp.

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

Definition at line 2159 of file bisect.hpp.

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

Definition at line 1317 of file bisect.hpp.

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

Definition at line 1555 of file bisect.hpp.

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

Definition at line 99 of file bisect.hpp.

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

Definition at line 743 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 783 of file bisect.hpp.

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

Definition at line 1765 of file bisect.hpp.

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

Definition at line 133 of file bisect.hpp.

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

Definition at line 295 of file bisect.hpp.

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

Definition at line 367 of file bisect.hpp.

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

Definition at line 50 of file bisect.hpp.

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

Definition at line 604 of file bisect.hpp.

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

Definition at line 667 of file bisect.hpp.

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

Definition at line 66 of file bisect.hpp.

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

Definition at line 1887 of file bisect.hpp.

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

Definition at line 2042 of file bisect.hpp.

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

Definition at line 1966 of file bisect.hpp.

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

Definition at line 178 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 822 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 890 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 228 of file bisect.hpp.

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

Definition at line 456 of file bisect.hpp.

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

Store all non-empty intervals resulting from the subdivision of the interval currently processed by the thread

Definition at line 531 of file bisect.hpp.

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

Definition at line 971 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 1023 of file bisect.hpp.

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

Definition at line 1673 of file bisect.hpp.

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

Definition at line 1564 of file compressed_matrix.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 42 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 81 of file compressed_matrix.hpp.

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

Definition at line 1553 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_1 ( StringT &  source)

OpenCL kernel for the first stage of sparse matrix-matrix multiplication.

Each work group derives the maximum of nonzero entries encountered by row in A.

Definition at line 1217 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_2 ( StringT &  source)

OpenCL kernel for the second stage of sparse matrix-matrix multiplication.

Computes the exact sparsity pattern of A*B. Result array C_row_indices contains number of nonzeros in each row.

Definition at line 1352 of file compressed_matrix.hpp.

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

OpenCL kernel for the third stage of sparse matrix-matrix multiplication.

Computes A*B into C with known sparsity pattern (obtained from stages 1 and 2).

Definition at line 1428 of file compressed_matrix.hpp.

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

OpenCL kernel for filling A_2 in the decomposition A = A_2 * G_1, with G_1 containing at most 32 nonzeros per row.

Needed for the RMerge split stage.

Definition at line 1275 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_compressed_matrix_prod_decompose_1 ( StringT &  source)

OpenCL kernel for decomposing A in C = A * B, such that A = A_2 * G_1 with G_1 containing at most 32 nonzeros per row.

Needed for the RMerge split stage.

Definition at line 1254 of file compressed_matrix.hpp.

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

OpenCL kernel for filling G_1 in the decomposition A = A_2 * G_1, with G_1 containing at most 32 nonzeros per row.

Needed for the RMerge split stage.

Definition at line 1306 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 186 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 200 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 234 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 317 of file compressed_matrix.hpp.

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

Definition at line 664 of file iterative.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 741 of file iterative.hpp.

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

Definition at line 90 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 159 of file iterative.hpp.

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

Definition at line 1402 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 1424 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 392 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 447 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 521 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 593 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 663 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 730 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 761 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 842 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,
bool  with_alpha_beta 
)

Definition at line 967 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,
bool  with_alpha_beta 
)

Definition at line 1080 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,
bool  with_alpha_beta 
)

Definition at line 1129 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 1183 of file compressed_matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul_nvidia ( StringT &  source,
std::string const &  numeric_string,
unsigned int  subwarp_size,
bool  with_alpha_beta 
)

Definition at line 914 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 218 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 843 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 254 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 1449 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 232 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 42 of file coordinate_matrix.hpp.

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

Definition at line 309 of file matrix.hpp.

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

Definition at line 328 of file 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 163 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 956 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 357 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 1474 of file iterative.hpp.

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

Definition at line 42 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 405 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 42 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 69 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 106 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 118 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 130 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 147 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 162 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 177 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 197 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 220 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 243 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 183 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 1092 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 477 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 1520 of file iterative.hpp.

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

Definition at line 42 of file hyb_matrix.hpp.

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

Definition at line 130 of file ilu.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_icc_extract_L_1 ( StringT &  source)

Definition at line 67 of file ilu.hpp.

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

Definition at line 94 of file ilu.hpp.

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

Definition at line 316 of file ilu.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_ilu_extract_LU_1 ( StringT &  source)

Definition at line 186 of file ilu.hpp.

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

Definition at line 217 of file ilu.hpp.

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

Definition at line 412 of file ilu.hpp.

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

Definition at line 37 of file ilu.hpp.

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

Definition at line 261 of file ilu.hpp.

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

Definition at line 291 of file ilu.hpp.

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

Definition at line 564 of file vector.hpp.

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

Definition at line 306 of file vector.hpp.

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

Definition at line 476 of file vector.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 627 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_matrix_convert ( StringT &  source,
std::string const &  dest_type,
std::string const &  src_type 
)

Definition at line 1099 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_matrix_convert_col ( StringT &  source,
std::string const &  dest_type,
std::string const &  src_type 
)

Definition at line 1082 of file matrix.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_matrix_convert_row ( StringT &  source,
std::string const &  dest_type,
std::string const &  src_type 
)

Definition at line 1065 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  upper_solve,
bool  unit_diagonal 
)

Definition at line 40 of file matrix_solve.hpp.

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

Definition at line 26 of file matrix_element.hpp.

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

Definition at line 65 of file matrix_element.hpp.

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

Definition at line 630 of file vector.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 38 of file nmf.hpp.

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

Definition at line 380 of file vector.hpp.

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

Definition at line 547 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 610 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 46 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,
bool  is_nvidia 
)

Definition at line 1169 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 1244 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 1315 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 1376 of file iterative.hpp.

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

Definition at line 235 of file vector.hpp.

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

Definition at line 226 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 682 of file matrix.hpp.

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

Definition at line 39 of file scan.hpp.

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

Definition at line 96 of file scan.hpp.

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

Definition at line 124 of file scan.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 1020 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 413 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 1497 of file iterative.hpp.

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

Definition at line 42 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 40 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 101 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 138 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 204 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 280 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 414 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 471 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 511 of file spai.hpp.

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

Definition at line 508 of file vector.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 38 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 68 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 85 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 114 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 143 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 167 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 272 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 334 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 382 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 449 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 508 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 549 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 567 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 594 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 838 of file matrix.hpp.

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

Definition at line 734 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 784 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 40 of file compressed_compressed_matrix.hpp.

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

Definition at line 865 of file matrix.hpp.

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

Definition at line 54 of file vector_element.hpp.

template<typename StringT >
void viennacl::linalg::opencl::kernels::generate_vector_convert ( StringT &  source,
std::string const &  dest_type,
std::string const &  src_type 
)

Definition at line 766 of file vector.hpp.

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

Definition at line 265 of file vector.hpp.

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

Definition at line 25 of file vector_element.hpp.

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

Definition at line 46 of file vector_element.hpp.