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

enum viennacl::linalg::opencl::kernels::ambm_scalar_type

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.

enum viennacl::linalg::opencl::kernels::asbs_scalar_type

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.

enum viennacl::linalg::opencl::kernels::avbv_scalar_type

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.