ViennaCL - The Vienna Computing Library  1.5.0
File List
Here is a list of all files with brief descriptions:
viennacl/circulant_matrix.hpp [code]Implementation of the circulant_matrix class for efficient manipulation of circulant matrices. Experimental
viennacl/compressed_compressed_matrix.hpp [code]Implementation of the compressed_compressed_matrix class (CSR format with a relatively small number of nonzero rows)
viennacl/compressed_matrix.hpp [code]Implementation of the compressed_matrix class
viennacl/context.hpp [code]Implementation of a OpenCL-like context, which serves as a unification of {OpenMP, CUDA, OpenCL} at the user API
viennacl/coordinate_matrix.hpp [code]Implementation of the coordinate_matrix class
viennacl/ell_matrix.hpp [code]Implementation of the ell_matrix class
viennacl/fft.hpp [code]All routines related to the Fast Fourier Transform. Experimental
viennacl/forwards.h [code]This file provides the forward declarations for the main types used within ViennaCL
viennacl/hankel_matrix.hpp [code]Implementation of the hankel_matrix class for efficient manipulation of Hankel matrices. Experimental
viennacl/hyb_matrix.hpp [code]Implementation of the hyb_matrix class
viennacl/matrix.hpp [code]Implementation of the dense matrix class
viennacl/matrix_proxy.hpp [code]Proxy classes for matrices
viennacl/range.hpp [code]Implementation of a range object for use with proxy objects
viennacl/scalar.hpp [code]Implementation of the ViennaCL scalar class
viennacl/slice.hpp [code]Implementation of a slice object for use with proxy objects
viennacl/toeplitz_matrix.hpp [code]Implementation of the toeplitz_matrix class for efficient manipulation of Toeplitz matrices. Experimental
viennacl/vandermonde_matrix.hpp [code]Implementation of the vandermonde_matrix class for efficient manipulation of Vandermonde matrices. Experimental
viennacl/vector.hpp [code]The vector type with operator-overloads and proxy classes is defined here. Linear algebra operations such as norms and inner products are located in linalg/vector_operations.hpp
viennacl/vector_proxy.hpp [code]Proxy classes for vectors
viennacl/backend/cpu_ram.hpp [code]Implementations for the OpenCL backend functionality
viennacl/backend/cuda.hpp [code]Implementations for the CUDA backend functionality
viennacl/backend/mem_handle.hpp [code]Implements the multi-memory-domain handle
viennacl/backend/memory.hpp [code]Main interface routines for memory management
viennacl/backend/opencl.hpp [code]Implementations for the OpenCL backend functionality
viennacl/backend/util.hpp [code]Helper functionality for working with different memory domains
viennacl/generator/autotune.hpp [code]User interface for the autotuning procedure
viennacl/generator/forwards.h [code]Forwards declaration
viennacl/generator/generate.hpp [code]User interface for the code generator
viennacl/generator/helpers.hpp [code]Several code generation helpers
viennacl/generator/map_functor.hpp [code]Functor to map the statements to the types defined in mapped_objects.hpp
viennacl/generator/mapped_objects.hpp [code]Map ViennaCL objects to generator wrappers
viennacl/generator/matrix_product.hpp [code]Kernel template for the matrix product operation
viennacl/generator/profile_base.hpp [code]Base classes for the profiles
viennacl/generator/profiles.hpp [code]Vendor-specific parameters for the generated kernels
viennacl/generator/saxpy.hpp [code]Kernel template for the saxpy-like operation
viennacl/generator/scalar_reduction.hpp [code]Kernel template for the scalar reduction operation
viennacl/generator/set_arguments_functor.hpp [code]Functor to set the arguments of a statement into a kernel
viennacl/generator/statement_representation_functor.hpp [code]Functor to generate the string id of a statement
viennacl/generator/utils.hpp [code]Internal utils for a dynamic OpenCL kernel generation
viennacl/generator/vector_reduction.hpp [code]Kernel template for the vector reduction operation
viennacl/io/matrix_market.hpp [code]A reader and writer for the matrix market format is implemented here
viennacl/linalg/amg.hpp [code]Main include file for algebraic multigrid (AMG) preconditioners. Experimental
viennacl/linalg/bicgstab.hpp [code]The stabilized bi-conjugate gradient method is implemented here
viennacl/linalg/bisect.hpp [code]Implementation of the algorithm for finding eigenvalues of a tridiagonal matrix
viennacl/linalg/cg.hpp [code]The conjugate gradient method is implemented here
viennacl/linalg/circulant_matrix_operations.hpp [code]Implementations of operations using circulant_matrix. Experimental
viennacl/linalg/direct_solve.hpp [code]Implementations of dense direct solvers are found here
viennacl/linalg/eig.hpp [code]Convenience header file including all available eigenvalue algorithms
viennacl/linalg/gmres.hpp [code]Implementations of the generalized minimum residual method are in this file
viennacl/linalg/hankel_matrix_operations.hpp [code]Implementations of operations using hankel_matrix. Experimental
viennacl/linalg/ichol.hpp [code]Implementations of incomplete Cholesky factorization preconditioners with static nonzero pattern
viennacl/linalg/ilu.hpp [code]Implementations of incomplete factorization preconditioners. Convenience header file
viennacl/linalg/inner_prod.hpp [code]Generic interface for the computation of inner products. See viennacl/linalg/vector_operations.hpp for implementations
viennacl/linalg/jacobi_precond.hpp [code]Implementation of a simple Jacobi preconditioner
viennacl/linalg/lanczos.hpp [code]Generic interface for the Lanczos algorithm
viennacl/linalg/lu.hpp [code]Implementations of LU factorization for row-major and column-major dense matrices
viennacl/linalg/matrix_operations.hpp [code]Implementations of dense matrix related operations including matrix-vector products
viennacl/linalg/misc_operations.hpp [code]Implementations of miscellaneous operations
viennacl/linalg/mixed_precision_cg.hpp [code]The conjugate gradient method using mixed precision is implemented here. Experimental
viennacl/linalg/nmf.hpp [code]Provides a nonnegative matrix factorization implementation. Experimental
viennacl/linalg/norm_1.hpp [code]Generic interface for the l^1-norm. See viennacl/linalg/vector_operations.hpp for implementations
viennacl/linalg/norm_2.hpp [code]Generic interface for the l^2-norm. See viennacl/linalg/vector_operations.hpp for implementations
viennacl/linalg/norm_frobenius.hpp [code]Generic interface for the Frobenius norm
viennacl/linalg/norm_inf.hpp [code]Generic interface for the l^infty-norm. See viennacl/linalg/vector_operations.hpp for implementations
viennacl/linalg/power_iter.hpp [code]Defines a tag for the configuration of the power iteration method
viennacl/linalg/prod.hpp [code]Generic interface for matrix-vector and matrix-matrix products. See viennacl/linalg/vector_operations.hpp, viennacl/linalg/matrix_operations.hpp, and viennacl/linalg/sparse_matrix_operations.hpp for implementations
viennacl/linalg/qr-method-common.hpp [code]Common routines used for the QR method and SVD. Experimental
viennacl/linalg/qr-method.hpp [code]Implementation of the QR method for eigenvalue computations. Experimental
viennacl/linalg/qr.hpp [code]Provides a QR factorization using a block-based approach
viennacl/linalg/row_scaling.hpp [code]A row normalization preconditioner is implemented here
viennacl/linalg/scalar_operations.hpp [code]Implementations of scalar operations
viennacl/linalg/spai.hpp [code]Main include file for the sparse approximate inverse preconditioner family (SPAI and FSPAI). Experimental
viennacl/linalg/sparse_matrix_operations.hpp [code]Implementations of operations using sparse matrices
viennacl/linalg/svd.hpp [code]Provides singular value decomposition using a block-based approach. Experimental
viennacl/linalg/toeplitz_matrix_operations.hpp [code]Implementations of operations using toeplitz_matrix. Experimental
viennacl/linalg/tred2.hpp [code]Optimized CPU tridiagonalization
viennacl/linalg/vandermonde_matrix_operations.hpp [code]Implementations of operations using vandermonde_matrix. Experimental
viennacl/linalg/vector_operations.hpp [code]Implementations of vector operations
viennacl/linalg/cuda/common.hpp [code]Common routines for CUDA execution
viennacl/linalg/cuda/direct_solve.hpp [code]Implementations of dense direct solvers using CUDA are found here
viennacl/linalg/cuda/matrix_operations.hpp [code]Implementations of dense matrix related operations, including matrix-vector products, using CUDA
viennacl/linalg/cuda/matrix_operations_col.hpp [code]Implementations of column-major dense matrix related operations, including matrix-vector products, using CUDA
viennacl/linalg/cuda/matrix_operations_prod.hpp [code]Dense matrix-matrix product CUDA kernels reside here
viennacl/linalg/cuda/matrix_operations_row.hpp [code]Implementations of row-major dense matrix related operations, including matrix-vector products, using CUDA
viennacl/linalg/cuda/misc_operations.hpp [code]Implementations of miscellaneous operations using CUDA
viennacl/linalg/cuda/scalar_operations.hpp [code]Implementations of scalar operations using CUDA
viennacl/linalg/cuda/sparse_matrix_operations.hpp [code]Implementations of operations using sparse matrices using CUDA
viennacl/linalg/cuda/sparse_matrix_operations_solve.hpp [code]Implementations of direct triangular solvers for sparse matrices using CUDA
viennacl/linalg/cuda/vector_operations.hpp [code]Implementations of vector operations using a plain single-threaded execution on CPU
viennacl/linalg/detail/op_applier.hpp [code]Defines the action of certain unary and binary operators and its arguments (for host execution)
viennacl/linalg/detail/op_executor.hpp [code]Defines the worker class for decomposing an expression tree into small chunks, which can be processed by the predefined operations in ViennaCL
viennacl/linalg/detail/amg/amg_base.hpp [code]Helper classes and functions for the AMG preconditioner. Experimental
viennacl/linalg/detail/amg/amg_coarse.hpp [code]Implementations of several variants of the AMG coarsening procedure (setup phase). Experimental
viennacl/linalg/detail/amg/amg_debug.hpp [code]Debug functionality for AMG. To be removed
viennacl/linalg/detail/amg/amg_interpol.hpp [code]Implementations of several variants of the AMG interpolation operators (setup phase). Experimental
viennacl/linalg/detail/ilu/block_ilu.hpp [code]Implementations of incomplete block factorization preconditioners
viennacl/linalg/detail/ilu/common.hpp [code]Common routines used within ILU-type preconditioners
viennacl/linalg/detail/ilu/ilu0.hpp [code]Implementations of incomplete factorization preconditioners with static nonzero pattern
viennacl/linalg/detail/ilu/ilut.hpp [code]Implementations of an incomplete factorization preconditioner with threshold (ILUT)
viennacl/linalg/detail/spai/block_matrix.hpp [code]Implementation of a bunch of (small) matrices on GPU. Experimental
viennacl/linalg/detail/spai/block_vector.hpp [code]Implementation of a bunch of vectors on GPU. Experimental
viennacl/linalg/detail/spai/fspai.hpp [code]Implementation of FSPAI. Experimental
viennacl/linalg/detail/spai/qr.hpp [code]Implementation of a simultaneous QR factorization of multiple matrices. Experimental
viennacl/linalg/detail/spai/small_matrix.hpp [code]Implementation of a routines for small matrices (helper for SPAI). Experimental
viennacl/linalg/detail/spai/spai-dynamic.hpp [code]Implementation of a dynamic SPAI. Provides the routines for automatic pattern updates Experimental
viennacl/linalg/detail/spai/spai-static.hpp [code]Implementation of a static SPAI. Experimental
viennacl/linalg/detail/spai/spai.hpp [code]Main implementation of SPAI (not FSPAI). Experimental
viennacl/linalg/detail/spai/spai_tag.hpp [code]Implementation of the spai tag holding SPAI configuration parameters. Experimental
viennacl/linalg/detail/spai/sparse_vector.hpp [code]Implementation of a helper sparse vector class for SPAI. Experimental
viennacl/linalg/host_based/common.hpp [code]Common routines for single-threaded or OpenMP-enabled execution on CPU
viennacl/linalg/host_based/direct_solve.hpp [code]Implementations of dense direct triangular solvers are found here
viennacl/linalg/host_based/matrix_operations.hpp [code]Implementations of dense matrix related operations, including matrix-vector products, using a plain single-threaded or OpenMP-enabled execution on CPU
viennacl/linalg/host_based/misc_operations.hpp [code]Implementations of miscellaneous operations on the CPU using a single thread or OpenMP
viennacl/linalg/host_based/scalar_operations.hpp [code]Implementations of scalar operations using a plain single-threaded or OpenMP-enabled execution on CPU
viennacl/linalg/host_based/sparse_matrix_operations.hpp [code]Implementations of operations using sparse matrices on the CPU using a single thread or OpenMP
viennacl/linalg/host_based/sse_blas.hpp [code]Optimized BLAS functions using SSE2 and SSE3 intrinsic functions
viennacl/linalg/host_based/sse_kernels.hpp [code]Optimized linear algebra operations for the CPU
viennacl/linalg/host_based/vector_operations.hpp [code]Implementations of vector operations using a plain single-threaded or OpenMP-enabled execution on CPU
viennacl/linalg/opencl/common.hpp [code]Common implementations shared by OpenCL-based operations
viennacl/linalg/opencl/direct_solve.hpp [code]Implementations of dense direct solvers are found here
viennacl/linalg/opencl/matrix_operations.hpp [code]Implementations of dense matrix related operations, including matrix-vector products, using OpenCL
viennacl/linalg/opencl/misc_operations.hpp [code]Implementations of operations using compressed_matrix and OpenCL
viennacl/linalg/opencl/scalar_operations.hpp [code]Implementations of scalar operations using OpenCL
viennacl/linalg/opencl/sparse_matrix_operations.hpp [code]Implementations of operations using sparse matrices and OpenCL
viennacl/linalg/opencl/vandermonde_matrix_operations.hpp [code]Implementations of operations using vandermonde_matrix
viennacl/linalg/opencl/vector_operations.hpp [code]Implementations of vector operations using OpenCL
viennacl/linalg/opencl/kernels/compressed_compressed_matrix.hpp [code]OpenCL kernel file for vector operations
viennacl/linalg/opencl/kernels/compressed_matrix.hpp [code]OpenCL kernel file for compressed_matrix operations
viennacl/linalg/opencl/kernels/coordinate_matrix.hpp [code]OpenCL kernel file for coordinate_matrix operations
viennacl/linalg/opencl/kernels/ell_matrix.hpp [code]OpenCL kernel file for ell_matrix operations
viennacl/linalg/opencl/kernels/fft.hpp [code]OpenCL kernel file for FFT operations
viennacl/linalg/opencl/kernels/hyb_matrix.hpp [code]OpenCL kernel file for hyb_matrix operations
viennacl/linalg/opencl/kernels/ilu.hpp [code]OpenCL kernel file for nonnegative matrix factorization
viennacl/linalg/opencl/kernels/matrix.hpp [code]Runtime generation of OpenCL kernels for matrix operations
viennacl/linalg/opencl/kernels/matrix_element.hpp [code]OpenCL kernel file for element-wise matrix operations
viennacl/linalg/opencl/kernels/matrix_prod.hpp [code]Runtime generation of OpenCL kernels for dense matrix-matrix products
viennacl/linalg/opencl/kernels/matrix_solve.hpp [code]OpenCL kernel file for dense matrix solves with multiple right hand side (BLAS level 3)
viennacl/linalg/opencl/kernels/nmf.hpp [code]OpenCL kernel file for nonnegative matrix factorization
viennacl/linalg/opencl/kernels/scalar.hpp [code]OpenCL kernel file for scalar operations
viennacl/linalg/opencl/kernels/spai.hpp [code]OpenCL kernel file for sparse approximate inverse operations
viennacl/linalg/opencl/kernels/svd.hpp [code]OpenCL kernel file for singular value decomposition
viennacl/linalg/opencl/kernels/vector.hpp [code]OpenCL kernel file for vector operations
viennacl/linalg/opencl/kernels/vector_element.hpp [code]OpenCL kernel file for element-wise vector operations
viennacl/meta/enable_if.hpp [code]Simple enable-if variant that uses the SFINAE pattern
viennacl/meta/predicate.hpp [code]All the predicates used within ViennaCL. Checks for expressions to be vectors, etc
viennacl/meta/result_of.hpp [code]A collection of compile time type deductions
viennacl/meta/tag_of.hpp [code]Dispatch facility for distinguishing between ublas, STL and ViennaCL types
viennacl/misc/bandwidth_reduction.hpp [code]Convenience include for bandwidth reduction algorithms such as Cuthill-McKee or Gibbs-Poole-Stockmeyer. Experimental
viennacl/misc/cuthill_mckee.hpp [code]Implementation of several flavors of the Cuthill-McKee algorithm. Experimental
viennacl/misc/gibbs_poole_stockmeyer.hpp [code]Implementation of the Gibbs-Poole-Stockmeyer algorithm. Experimental
viennacl/ocl/backend.hpp [code]Implementations of the OpenCL backend, where all contexts are stored in
viennacl/ocl/command_queue.hpp [code]Implementations of command queue representations
viennacl/ocl/context.hpp [code]Represents an OpenCL context within ViennaCL
viennacl/ocl/device.hpp [code]Represents an OpenCL device within ViennaCL
viennacl/ocl/device_utils.hpp [code]Various utility implementations for dispatching with respect to the different devices available on the market
viennacl/ocl/enqueue.hpp [code]Enqueues kernels into command queues
viennacl/ocl/error.hpp [code]Error handling for the OpenCL layer of ViennaCL
viennacl/ocl/forwards.h [code]This file provides the forward declarations for the OpenCL layer of ViennaCL
viennacl/ocl/handle.hpp [code]Implementation of a smart-pointer-like class for handling OpenCL handles
viennacl/ocl/infos.hpp [code]Implementation of convenience functions to get infos
viennacl/ocl/kernel.hpp [code]Representation of an OpenCL kernel in ViennaCL
viennacl/ocl/local_mem.hpp [code]A local (shared) memory object for OpenCL
viennacl/ocl/platform.hpp [code]Implements a OpenCL platform within ViennaCL
viennacl/ocl/program.hpp [code]Implements an OpenCL program class for ViennaCL
viennacl/ocl/utils.hpp [code]Provides OpenCL-related utilities
viennacl/rand/gaussian.hpp [code]Unused: Generation of random numbers with a Gaussian normal distribution
viennacl/rand/uniform.hpp [code]Unused: Generation of uniformly distributed random numbers
viennacl/rand/utils.hpp [code]Unused: Helper functionality random number generation
viennacl/scheduler/execute.hpp [code]Provides the datastructures for dealing with a single statement such as 'x = y + z;'
viennacl/scheduler/execute_axbx.hpp [code]Provides the datastructures for dealing with statements of the type x = (y) +- (z)
viennacl/scheduler/execute_elementwise.hpp [code]Deals with the execution of unary and binary element-wise operations
viennacl/scheduler/execute_generic_dispatcher.hpp [code]Provides unified wrappers for the common routines {as(), asbs(), asbs_s()}, {av(), avbv(), avbv_v()}, and {am(), ambm(), ambm_m()} such that scheduler logic is not cluttered with numeric type decutions
viennacl/scheduler/execute_matrix_dispatcher.hpp [code]Provides wrappers for am(), ambm(), ambm_m(), etc. in viennacl/linalg/matrix_operations.hpp such that scheduler logic is not cluttered with numeric type decutions
viennacl/scheduler/execute_matrix_prod.hpp [code]Deals with matrix-vector and matrix-matrix products
viennacl/scheduler/execute_scalar_assign.hpp [code]Deals with the execution of x = RHS; for a vector x and any compatible right hand side expression RHS
viennacl/scheduler/execute_scalar_dispatcher.hpp [code]Provides wrappers for as(), asbs(), asbs_s(), etc. in viennacl/linalg/scalar_operations.hpp such that scheduler logic is not cluttered with numeric type decutions
viennacl/scheduler/execute_util.hpp [code]Provides various utilities for implementing the execution of statements
viennacl/scheduler/execute_vector_dispatcher.hpp [code]Provides wrappers for av(), avbv(), avbv_v(), etc. in viennacl/linalg/vector_operations.hpp such that scheduler logic is not cluttered with numeric type decutions
viennacl/scheduler/forwards.h [code]Provides the datastructures for dealing with a single statement such as 'x = y + z;'
viennacl/scheduler/io.hpp [code]Some helper routines for reading/writing/printing scheduler expressions
viennacl/tools/adapter.hpp [code]Adapter classes for sparse matrices made of the STL type std::vector<std::map<SizeType, SCALARTYPE> >
viennacl/tools/entry_proxy.hpp [code]A proxy class for entries in a vector
viennacl/tools/matrix_size_deducer.hpp [code]Helper implementations that deduce the dimensions of the supplied matrix-valued expressions
viennacl/tools/shared_ptr.hpp [code]Implementation of a shared pointer class (cf. std::shared_ptr, boost::shared_ptr). Will be used until C++11 is widely available
viennacl/tools/timer.hpp [code]A simple, yet (mostly) sufficiently accurate timer for benchmarking and profiling
viennacl/tools/tools.hpp [code]Various little tools used here and there in ViennaCL
viennacl/traits/clear.hpp [code]Generic clear functionality for different vector and matrix types
viennacl/traits/context.hpp [code]Extracts the underlying context from objects
viennacl/traits/fill.hpp [code]Generic fill functionality for different matrix types
viennacl/traits/handle.hpp [code]Extracts the underlying OpenCL handle from a vector, a matrix, an expression etc
viennacl/traits/size.hpp [code]Generic size and resize functionality for different vector and matrix types
viennacl/traits/start.hpp [code]Extracts the underlying OpenCL start index handle from a vector, a matrix, an expression etc
viennacl/traits/stride.hpp [code]Determines row and column increments for matrices and matrix proxies