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) |
Contains the OpenCL kernel generation functions for a predefined set of functionality.
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.
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.
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.
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.
void viennacl::linalg::opencl::kernels::generate_amg_agg_merge_undecided | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_amg_agg_merge_undecided_2 | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_amg_agg_propagate_coarse_indices | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_amg_influence_trivial | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_amg_interpol_ag | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_amg_interpol_sa | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_amg_pmis2_init_workdata | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_amg_pmis2_mark_mis_nodes | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_amg_pmis2_max_neighborhood | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_amg_pmis2_reset_state | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_asbs | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 200 of file scalar.hpp.
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.
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.
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.
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.
void viennacl::linalg::opencl::kernels::generate_assign_cpu | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 289 of file vector.hpp.
void viennacl::linalg::opencl::kernels::generate_avbv | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 209 of file vector.hpp.
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.
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.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernel | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 1085 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 2159 of file bisect.hpp.
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.
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.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_ceilPow2 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 99 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactIntervals | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 743 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactIntervalsShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 783 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactStreamsFinal | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 1765 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeMidpoint | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 133 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeNumSmallerEigenvals | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 295 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeNumSmallerEigenvalsLarge | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 367 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_config | ( | StringType & | source | ) |
Definition at line 50 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_createIndicesCompaction | ( | StringType & | source | ) |
Definition at line 604 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_createIndicesCompactionShort | ( | StringType & | source | ) |
Definition at line 667 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_floorPow2 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 66 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanCompactBlocksStartAddress | ( | StringType & | source | ) |
Definition at line 1887 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanInitial | ( | StringType & | source | ) |
Definition at line 2042 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanSumBlocks | ( | StringType & | source | ) |
Definition at line 1966 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeInterval | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 178 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalConverged | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 822 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalConvergedShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 890 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 228 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeNonEmptyIntervals | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 456 of file bisect.hpp.
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.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_subdivideActiveInterval | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 971 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_subdivideActiveIntervalShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 1023 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_writeToGmem | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 1673 of file bisect.hpp.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
void viennacl::linalg::opencl::kernels::generate_fft_bluestein_post | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_bluestein_pre | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_complex_to_real | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_div_vec_scalar | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_mult_vec | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_real_to_complex | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_reverse_inplace | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_transpose | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_transpose_inplace | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_vandermonde_prod | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_fft_zero2 | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
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.
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.
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.
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.
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.
void viennacl::linalg::opencl::kernels::generate_icc_chow_patel_sweep_kernel | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_icc_extract_L_1 | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_icc_extract_L_2 | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_ilu_chow_patel_sweep_kernel | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_ilu_extract_LU_1 | ( | StringT & | source | ) |
void viennacl::linalg::opencl::kernels::generate_ilu_extract_LU_2 | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_ilu_form_neumann_matrix_kernel | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_ilu_level_scheduling_substitute | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_ilu_scale_kernel_1 | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_ilu_scale_kernel_2 | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_index_norm_inf | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 564 of file vector.hpp.
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.
void viennacl::linalg::opencl::kernels::generate_inner_prod_sum | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 476 of file vector.hpp.
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.
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.
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.
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.
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.
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.
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.
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.
void viennacl::linalg::opencl::kernels::generate_nmf_el_wise_mul_div | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_norm | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 380 of file vector.hpp.
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.
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.
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.
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.
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.
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.
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.
void viennacl::linalg::opencl::kernels::generate_plane_rotation | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 235 of file vector.hpp.
void viennacl::linalg::opencl::kernels::generate_scalar_swap | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 226 of file scalar.hpp.
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.
void viennacl::linalg::opencl::kernels::generate_scan_kernel_1 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_scan_kernel_2 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_scan_kernel_3 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
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.
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.
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.
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.
void viennacl::linalg::opencl::kernels::generate_spai_assemble_blocks | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_spai_block_bv_assembly | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_spai_block_least_squares | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_spai_block_q_mult | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_spai_block_qr | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_spai_block_qr_assembly | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_spai_block_qr_assembly_1 | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_spai_block_r_assembly | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_sum | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 508 of file vector.hpp.
void viennacl::linalg::opencl::kernels::generate_svd_bidiag_pack | ( | StringType & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_col_reduce_lcl_array | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_copy_col | ( | StringType & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_copy_row | ( | StringType & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_final_iter_update | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_givens_next | ( | StringType & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_givens_prev | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_house_update_A_left | ( | StringType & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_house_update_A_right | ( | StringType & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_house_update_QL | ( | StringType & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_house_update_QR | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_inverse_signs | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_transpose_inplace | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_update_qr_column | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
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.
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.
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.
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.
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.
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.
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.
void viennacl::linalg::opencl::kernels::generate_vector_swap | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 265 of file vector.hpp.
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.
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.