Contains the OpenCL kernel generation functions for a predefined set of functionality. More...
Namespaces | |
detail | |
Implementation details for the predefined OpenCL kernels. | |
Classes | |
struct | ambm_config |
Configuration struct for generating OpenCL kernels for linear combinations of matrices. More... | |
struct | asbs_config |
Configuration struct for generating OpenCL kernels for linear combinations of viennacl::scalar<> objects. More... | |
struct | bisect_kernel |
Main kernel class for the generation of the bisection kernels and utilities. More... | |
struct | compressed_compressed_matrix |
Main kernel class for generating OpenCL kernels for compressed_compressed_matrix. More... | |
struct | compressed_matrix |
Main kernel class for generating OpenCL kernels for compressed_matrix. More... | |
struct | coordinate_matrix |
Main kernel class for generating OpenCL kernels for coordinate_matrix. More... | |
struct | ell_matrix |
Main kernel class for generating OpenCL kernels for ell_matrix. More... | |
struct | fft |
Main kernel class for generating OpenCL kernels for the fast Fourier transform. More... | |
struct | hyb_matrix |
Main kernel class for generating OpenCL kernels for hyb_matrix. More... | |
struct | ilu |
Main kernel class for generating OpenCL kernels for incomplete LU factorization preconditioners. More... | |
struct | iterative |
Main kernel class for generating specialized OpenCL kernels for fast iterative solvers. More... | |
class | matrix |
Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More... | |
struct | matrix_element |
Main kernel class for generating OpenCL kernels for elementwise operations other than addition and subtraction on/with viennacl::vector<>. More... | |
struct | matrix_legacy |
Main kernel class for generating OpenCL kernels for operations on/with dense matrix objects of type viennacl::matrix<>. More... | |
class | matrix_prod |
Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More... | |
struct | matrix_solve |
Main kernel class for the generation of matrix solve kernels. More... | |
struct | nmf |
Main kernel class for generating OpenCL kernels for nonnegative matrix factorization of a dense matrices. More... | |
class | row_wise_reduction |
Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More... | |
struct | scalar |
Main kernel class for generating OpenCL kernels for operations involving viennacl::scalar<>, but not viennacl::vector<> or viennacl::matrix<>. More... | |
struct | sliced_ell_matrix |
Main kernel class for generating OpenCL kernels for ell_matrix. More... | |
struct | sliced_ell_matrix< NumericT, unsigned int > |
struct | spai |
Main kernel class for generating OpenCL kernels for the sparse approximate inverse preconditioners. More... | |
struct | svd |
Main kernel class for generating OpenCL kernels for singular value decomposition of dense matrices. More... | |
class | vector |
Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More... | |
struct | vector_element |
Main kernel class for generating OpenCL kernels for elementwise operations other than addition and subtraction on/with viennacl::vector<>. More... | |
class | vector_multi_inner_prod |
Main kernel class for generating OpenCL kernels for operations on/with viennacl::vector<> without involving matrices, multiple inner products, or element-wise operations other than addition or subtraction. More... | |
Enumerations | |
enum | ambm_scalar_type { VIENNACL_AMBM_NONE = 0, VIENNACL_AMBM_CPU, VIENNACL_AMBM_GPU } |
Enumeration for the scalar type in ambm-like operations. More... | |
enum | asbs_scalar_type { VIENNACL_ASBS_NONE = 0, VIENNACL_ASBS_CPU, VIENNACL_ASBS_GPU } |
Enumeration for the scalar type in avbv-like operations. More... | |
Functions | |
template<typename StringType > | |
void | generate_bisect_kernel_config (StringType &source) |
template<typename StringType > | |
void | generate_bisect_kernel_floorPow2 (StringType &source, std::string const &numeric_string) |
OpenCL function for computing the next lower power of two of n. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_ceilPow2 (StringType &source, std::string const &numeric_string) |
OpenCL function for computing the next higher power of two of n. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_computeMidpoint (StringType &source, std::string const &numeric_string) |
OpenCL function for computing the midpoint of an interval [left, right] avoiding overflow if possible. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_storeInterval (StringType &source, std::string const &numeric_string) |
OpenCL function for checking if interval converged and store appropriately. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_storeIntervalShort (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_computeNumSmallerEigenvals (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_computeNumSmallerEigenvalsLarge (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_storeNonEmptyIntervals (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_storeNonEmptyIntervalsLarge (StringType &source, std::string const &numeric_string) |
OpenCL function for storing all non-empty intervals resulting from the subdivision of the interval currently processed by the thread. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_createIndicesCompaction (StringType &source, std::string const &numeric_string) |
OpenCL function for creating indices for compaction. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_createIndicesCompactionShort (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_compactIntervals (StringType &source, std::string const &numeric_string) |
OpenCL function for performing stream compaction for second child intervals. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_compactIntervalsShort (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_storeIntervalConverged (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_storeIntervalConvergedShort (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_subdivideActiveInterval (StringType &source, std::string const &numeric_string) |
Subdivide interval if active and not already converged. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_subdivideActiveIntervalShort (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_bisectKernel (StringType &source, std::string const &numeric_string) |
OpenCL kernel for bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_bisectKernelLarge_MultIntervals (StringType &source, std::string const &numeric_string) |
Perform second step of bisection algorithm for large matrices for intervals that after the first step contained more than one eigenvalue. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_bisectKernelLarge_OneIntervals (StringType &source, std::string const &numeric_string) |
OpenCL kernel for Determining eigenvalues for large matrices for intervals that after the first step contained one eigenvalue. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_writeToGmem (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_bisect_kernel_compactStreamsFinal (StringType &source, std::string const &numeric_string) |
OpenCL function for performing final stream compaction before writing data to global memory. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_scanCompactBlocksStartAddress (StringType &source, std::string const &numeric_string) |
OpenCL function for computing addresses to obtain compact list of block start addresses. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_scanSumBlocks (StringType &source, std::string const &numeric_string) |
OpenCL function for performing scan to obtain number of eigenvalues before a specific block. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_scanInitial (StringType &source, std::string const &numeric_string) |
Perform initial scan for compaction of intervals containing one and multiple eigenvalues; also do initial scan to build blocks. More... | |
template<typename StringType > | |
void | generate_bisect_kernel_bisectKernelLarge (StringType &source, std::string const &numeric_string) |
OpenCL kernel for bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix. More... | |
template<typename StringT > | |
void | generate_vec_mul (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_block_trans_lu_backward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_block_trans_unit_lu_forward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_jacobi (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_lu_backward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_lu_forward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_row_info_extractor (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_trans_lu_backward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_trans_lu_forward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_trans_unit_lu_backward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_trans_unit_lu_forward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_trans_unit_lu_forward_slow (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_unit_lu_backward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_unit_lu_forward (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_vec_mul (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_vec_mul4 (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_vec_mul8 (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_vec_mul_cpu (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_coordinate_matrix_vec_mul (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_coordinate_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_coordinate_matrix_row_info_extractor (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_ell_vec_mul (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_ell_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_fft_bluestein_post (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_fft_bluestein_pre (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_fft_complex_to_real (StringT &source, std::string const &numeric_string) |
Extract real part of a complex number array. More... | |
template<typename StringT > | |
void | generate_fft_div_vec_scalar (StringT &source, std::string const &numeric_string) |
OpenCL kernel generation code for dividing a complex number by a real number. More... | |
template<typename StringT > | |
void | generate_fft_mult_vec (StringT &source, std::string const &numeric_string) |
Elementwise product of two complex vectors. More... | |
template<typename StringT > | |
void | generate_fft_real_to_complex (StringT &source, std::string const &numeric_string) |
Embedds a real-valued vector into a complex one. More... | |
template<typename StringT > | |
void | generate_fft_reverse_inplace (StringT &source, std::string const &numeric_string) |
Reverses the entries in a vector. More... | |
template<typename StringT > | |
void | generate_fft_transpose (StringT &source, std::string const &numeric_string) |
Simplistic matrix transpose function. More... | |
template<typename StringT > | |
void | generate_fft_transpose_inplace (StringT &source, std::string const &numeric_string) |
Simplistic inplace matrix transpose function. More... | |
template<typename StringT > | |
void | generate_fft_vandermonde_prod (StringT &source, std::string const &numeric_string) |
Computes the matrix vector product with a Vandermonde matrix. More... | |
template<typename StringT > | |
void | generate_fft_zero2 (StringT &source, std::string const &numeric_string) |
Zero two complex vectors (to avoid kernel launch overhead) More... | |
template<typename StringT > | |
void | generate_hyb_vec_mul (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_hyb_matrix_dense_matrix_multiplication (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_ilu_level_scheduling_substitute (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_pipelined_cg_vector_update (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_coordinate_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_ell_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_sliced_ell_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_hyb_matrix_pipelined_cg_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_pipelined_bicgstab_update_s (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_pipelined_bicgstab_vector_update (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_compressed_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_coordinate_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_ell_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_sliced_ell_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_hyb_matrix_pipelined_bicgstab_prod (StringT &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_pipelined_gmres_gram_schmidt_stage1 (StringType &source, std::string const &numeric_string, 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_prod (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_coordinate_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_ell_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_sliced_ell_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_hyb_matrix_pipelined_gmres_prod (StringType &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_fft (StringT &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringT > | |
void | generate_lu (StringT &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringT > | |
void | generate_scaled_rank1_update (StringT &source, std::string const &numeric_string, bool is_row_major, bool alpha_on_cpu) |
template<typename StringT > | |
void | generate_triangular_substitute_inplace (StringT &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringT > | |
void | generate_trans_kernel (StringT &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringT > | |
void | generate_matrix_solve_blas3 (StringT &source, std::string const &numeric_string, bool row_major_A, bool row_major_B, bool upper_solve, bool unit_diagonal) |
template<typename StringT > | |
void | generate_nmf_el_wise_mul_div (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_asbs_impl3 (StringT &source, char sign_a, char sign_b, asbs_config const &cfg, bool mult_alpha, bool mult_beta) |
template<typename StringT > | |
void | generate_asbs_impl2 (StringT &source, char sign_a, char sign_b, asbs_config const &cfg) |
template<typename StringT > | |
void | generate_asbs_impl (StringT &source, std::string const &numeric_string, asbs_config const &cfg) |
template<typename StringT > | |
void | generate_asbs (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_scalar_swap (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_sliced_ell_vec_mul (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_spai_assemble_blocks (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_spai_block_bv_assembly (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_spai_block_least_squares (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_spai_block_q_mult (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_spai_block_qr (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_spai_block_qr_assembly (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_spai_block_qr_assembly_1 (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_spai_block_r_assembly (StringT &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_bidiag_pack (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringT > | |
void | generate_svd_col_reduce_lcl_array (StringT &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_copy_col (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_svd_copy_row (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringT > | |
void | generate_svd_final_iter_update (StringT &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_givens_next (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringT > | |
void | generate_svd_givens_prev (StringT &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_house_update_A_left (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_svd_house_update_A_right (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringType > | |
void | generate_svd_house_update_QL (StringType &source, std::string const &numeric_string, bool is_row_major) |
template<typename StringT > | |
void | generate_svd_house_update_QR (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_svd_inverse_signs (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_svd_transpose_inplace (StringT &source, std::string const &numeric_string) |
template<typename StringT > | |
void | generate_svd_update_qr_column (StringT &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_inclusive_scan_kernel_1 (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_exclusive_scan_kernel_1 (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_scan_kernel_2 (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_scan_kernel_3 (StringType &source, std::string const &numeric_string) |
template<typename StringType > | |
void | generate_svd_scan_kernel_4 (StringType &source, std::string const &numeric_string) |
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 30 of file matrix.hpp.
Enumeration for the scalar type in avbv-like operations.
Enumerator | |
---|---|
VIENNACL_ASBS_NONE | |
VIENNACL_ASBS_CPU | |
VIENNACL_ASBS_GPU |
Definition at line 23 of file scalar.hpp.
void viennacl::linalg::opencl::kernels::generate_asbs | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 183 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 89 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 62 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 43 of file scalar.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernel | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL kernel for bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix.
g_d diagonal elements in global memory g_s superdiagonal elements in global elements (stored so that the element *(g_s - 1) can be accessed an equals 0 n size of matrix lg lower bound of input interval (e.g. Gerschgorin interval) ug upper bound of input interval (e.g. Gerschgorin interval) lg_eig_count number of eigenvalues that are smaller than lg lu_eig_count number of eigenvalues that are smaller than lu epsilon desired accuracy of eigenvalues to compute
Definition at line 1062 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL kernel for bisection to find eigenvalues of a real, symmetric, and tridiagonal matrix.
g_d diagonal elements in global memory g_s superdiagonal elements in global elements (stored so that the element *(g_s - 1) can be accessed an equals 0 n size of matrix lg lower bound of input interval (e.g. Gerschgorin interval) ug upper bound of input interval (e.g. Gerschgorin interval) lg_eig_count number of eigenvalues that are smaller than lg lu_eig_count number of eigenvalues that are smaller than lu epsilon desired accuracy of eigenvalues to compute
Definition at line 2114 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge_MultIntervals | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Perform second step of bisection algorithm for large matrices for intervals that after the first step contained more than one eigenvalue.
g_d diagonal elements of symmetric, tridiagonal matrix g_s superdiagonal elements of symmetric, tridiagonal matrix n matrix size blocks_mult start addresses of blocks of intervals that are processed by one block of threads, each of the intervals contains more than one eigenvalue blocks_mult_sum total number of eigenvalues / singleton intervals in one block of intervals g_left left limits of intervals g_right right limits of intervals g_left_count number of eigenvalues less than left limits g_right_count number of eigenvalues less than right limits g_lambda final eigenvalue g_pos index of eigenvalue (in ascending order) precision desired precision of eigenvalues
Definition at line 1292 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_bisectKernelLarge_OneIntervals | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL kernel for Determining eigenvalues for large matrices for intervals that after the first step contained one eigenvalue.
g_d diagonal elements of symmetric, tridiagonal matrix g_s superdiagonal elements of symmetric, tridiagonal matrix n matrix size num_intervals total number of intervals containing one eigenvalue after the first step g_left left interval limits g_right right interval limits g_pos index of interval / number of intervals that are smaller than right interval limit precision desired precision of eigenvalues
Definition at line 1528 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_ceilPow2 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for computing the next higher power of two of n.
n ... number for which next higher power of two is seeked
Definition at line 89 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactIntervals | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for performing stream compaction for second child intervals.
s_left shared memory storage for left interval limits s_right shared memory storage for right interval limits s_left_count shared memory storage for number of eigenvalues less than left interval limits s_right_count shared memory storage for number of eigenvalues less than right interval limits mid midpoint of current interval (left of new interval) right upper limit of interval mid_count eigenvalues less than mid s_compaction_list list containing the indices where the data has to be stored num_threads_active number of active threads / intervals
is_active_second mark is thread has a second non-empty child interval
Definition at line 719 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactIntervalsShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 759 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_compactStreamsFinal | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for performing final stream compaction before writing data to global memory.
Definition at line 1732 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeMidpoint | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for computing the midpoint of an interval [left, right] avoiding overflow if possible.
left ... left / lower limit of interval right ... right / upper limit of interval
Definition at line 121 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeNumSmallerEigenvals | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for computing the number of eigenvalues that are smaller than x given a symmetric, real, and tridiagonal matrix
g_d diagonal elements stored in global memory g_s superdiagonal elements stored in global memory n size of matrix x value for which the number of eigenvalues that are smaller is sought tid thread identified (e.g. threadIdx.x or gtid) num_intervals_active number of active intervals / threads that currently process an interval s_d scratch space to store diagonal entries of the tridiagonal matrix in shared memory s_s scratch space to store superdiagonal entries of the tridiagonal matrix in shared memory converged flag if the current thread is already converged (that is count does not have to be computed)
Definition at line 278 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_computeNumSmallerEigenvalsLarge | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for computing the number of eigenvalues that are smaller than x given a symmetric, real, and tridiagonal matrix
g_d diagonal elements stored in global memory g_s superdiagonal elements stored in global memory n size of matrix x value for which the number of eigenvalues that are smaller is sought tid thread identified (e.g. threadIdx.x or gtid) num_intervals_active number of active intervals / threads that currently process an interval s_d scratch space to store diagonal entries of the tridiagonal matrix in shared memory s_s scratch space to store superdiagonal entries of the tridiagonal matrix in shared memory converged flag if the current thread is already converged (that is count does not have to be computed)
Definition at line 348 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_config | ( | StringType & | source | ) |
Definition at line 43 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_createIndicesCompaction | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for creating indices for compaction.
Process s_compaction_list_exc, which is 1 for intervals that generated a second child and 0 otherwise and create for each of the non-zero elements the index where the new interval belongs to in a compact representation of all generated second children
s_compaction_list_exc list containing the flags which threads generated two children num_threads_compaction number of threads to employ for compaction
Definition at line 579 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_createIndicesCompactionShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 643 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_floorPow2 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for computing the next lower power of two of n.
n ... number for which next higher power of two is seeked
Definition at line 58 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanCompactBlocksStartAddress | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for computing addresses to obtain compact list of block start addresses.
Definition at line 1848 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanInitial | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Perform initial scan for compaction of intervals containing one and multiple eigenvalues; also do initial scan to build blocks.
Definition at line 1998 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_scanSumBlocks | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for performing scan to obtain number of eigenvalues before a specific block.
Definition at line 1925 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeInterval | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for checking if interval converged and store appropriately.
addr address where to store the information of the interval s_left shared memory storage for left interval limits s_right shared memory storage for right interval limits s_left_count shared memory storage for number of eigenvalues less than left interval limits s_right_count shared memory storage for number of eigenvalues less than right interval limits left lower limit of interval right upper limit of interval left_count eigenvalues less than left right_count eigenvalues less than right precision desired precision for eigenvalues
Definition at line 164 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalConverged | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 798 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalConvergedShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 866 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeIntervalShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 214 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeNonEmptyIntervals | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for Storing all non-empty intervals resulting from the subdivision of the interval currently processed by the thread
addr base address for storing intervals num_threads_active number of threads / intervals in current sweep s_left shared memory storage for left interval limits s_right shared memory storage for right interval limits s_left_count shared memory storage for number of eigenvalues less than left interval limits s_right_count shared memory storage for number of eigenvalues less than right interval limits left lower limit of interval mid midpoint of interval right upper limit of interval left_count eigenvalues less than left mid_count eigenvalues less than mid right_count eigenvalues less than right precision desired precision for eigenvalues compact_second_chunk shared mem flag if second chunk is used and ergo requires compaction s_compaction_list_exc helper array for stream compaction, s_compaction_list_exc[tid] = 1 when the thread generated two child intervals is_active_interval mark is thread has a second non-empty child interval
Definition at line 435 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_storeNonEmptyIntervalsLarge | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for storing all non-empty intervals resulting from the subdivision of the interval currently processed by the thread.
Definition at line 506 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_subdivideActiveInterval | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Subdivide interval if active and not already converged.
tid id of thread s_left shared memory storage for left interval limits s_right shared memory storage for right interval limits s_left_count shared memory storage for number of eigenvalues less than left interval limits s_right_count shared memory storage for number of eigenvalues less than right interval limits num_threads_active number of active threads in warp left lower limit of interval right upper limit of interval left_count eigenvalues less than left right_count eigenvalues less than right all_threads_converged shared memory flag if all threads are converged
Definition at line 944 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_subdivideActiveIntervalShort | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 996 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_bisect_kernel_writeToGmem | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
OpenCL function for writing data to global memory
Definition at line 1643 of file bisect.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_block_trans_lu_backward | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 25 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_block_trans_unit_lu_forward | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 64 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_dense_matrix_multiplication | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 169 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_jacobi | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 183 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_lu_backward | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 216 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_lu_forward | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 299 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_pipelined_bicgstab_prod | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 579 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 77 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 1236 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 374 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 429 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 503 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 575 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 645 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 712 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 743 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 824 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 896 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul4 | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 992 of file compressed_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_compressed_matrix_vec_mul8 | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 1033 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 1079 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 194 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 681 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 172 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 1261 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 208 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 25 of file coordinate_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_ell_matrix_dense_matrix_multiplication | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 138 of file ell_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_ell_matrix_pipelined_bicgstab_prod | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 794 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 275 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 1286 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_ell_vec_mul | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 25 of file ell_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_fft | ( | StringT & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
Definition at line 53 of file matrix.hpp.
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 158 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 926 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 391 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 1331 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_hyb_vec_mul | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 25 of file hyb_matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_ilu_level_scheduling_substitute | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_lu | ( | StringT & | source, |
std::string const & | numeric_string, | ||
bool | is_row_major | ||
) |
Definition at line 275 of file matrix.hpp.
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 23 of file matrix_solve.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_pipelined_bicgstab_update_s | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 461 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_pipelined_bicgstab_vector_update | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 524 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_pipelined_cg_vector_update | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 32 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_pipelined_gmres_gram_schmidt_stage1 | ( | StringType & | source, |
std::string const & | numeric_string, | ||
bool | is_nvidia | ||
) |
Definition at line 1003 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 1078 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_pipelined_gmres_normalize_vk | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 1149 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_pipelined_gmres_update_result | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 1210 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_scalar_swap | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 209 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 330 of file matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_sliced_ell_matrix_pipelined_bicgstab_prod | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 858 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 331 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 1309 of file iterative.hpp.
void viennacl::linalg::opencl::kernels::generate_sliced_ell_vec_mul | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 25 of file sliced_ell_matrix.hpp.
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_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_exclusive_scan_kernel_1 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
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_inclusive_scan_kernel_1 | ( | StringType & | 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_scan_kernel_2 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_scan_kernel_3 | ( | StringType & | source, |
std::string const & | numeric_string | ||
) |
void viennacl::linalg::opencl::kernels::generate_svd_scan_kernel_4 | ( | StringType & | 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 436 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 382 of file matrix.hpp.
void viennacl::linalg::opencl::kernels::generate_vec_mul | ( | StringT & | source, |
std::string const & | numeric_string | ||
) |
Definition at line 23 of file compressed_compressed_matrix.hpp.