ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
compressed_matrix.hpp File Reference

Implementation of the compressed_matrix class. More...

#include <vector>
#include <list>
#include <map>
#include "viennacl/forwards.h"
#include "viennacl/vector.hpp"
#include "viennacl/linalg/sparse_matrix_operations.hpp"
#include "viennacl/tools/tools.hpp"
#include "viennacl/tools/entry_proxy.hpp"

Go to the source code of this file.

Classes

class  viennacl::compressed_matrix< NumericT, AlignmentV >
 A sparse square matrix in compressed sparse rows format. More...
 

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::detail
 Holds implementation details for functionality in the main viennacl-namespace. Not intended for direct use by library users.
 

Functions

template<typename CPUMatrixT , typename NumericT , unsigned int AlignmentV>
void viennacl::detail::copy_impl (const CPUMatrixT &cpu_matrix, compressed_matrix< NumericT, AlignmentV > &gpu_matrix, vcl_size_t nonzeros)
 Implementation of the copy of a host-based sparse matrix to the device. More...
 
template<typename CPUMatrixT , typename NumericT , unsigned int AlignmentV>
void viennacl::copy (const CPUMatrixT &cpu_matrix, compressed_matrix< NumericT, AlignmentV > &gpu_matrix)
 Copies a sparse matrix from the host to the OpenCL device (either GPU or multi-core CPU) More...
 
template<typename SizeT , typename NumericT , unsigned int AlignmentV>
void viennacl::copy (const std::vector< std::map< SizeT, NumericT > > &cpu_matrix, compressed_matrix< NumericT, AlignmentV > &gpu_matrix)
 Copies a sparse square matrix in the std::vector< std::map < > > format to an OpenCL device. Use viennacl::tools::sparse_matrix_adapter for non-square matrices. More...
 
template<typename CPUMatrixT , typename NumericT , unsigned int AlignmentV>
void viennacl::copy (const compressed_matrix< NumericT, AlignmentV > &gpu_matrix, CPUMatrixT &cpu_matrix)
 Copies a sparse matrix from the OpenCL device (either GPU or multi-core CPU) to the host. More...
 
template<typename NumericT , unsigned int AlignmentV>
void viennacl::copy (const compressed_matrix< NumericT, AlignmentV > &gpu_matrix, std::vector< std::map< unsigned int, NumericT > > &cpu_matrix)
 Copies a sparse matrix from an OpenCL device to the host. The host type is the std::vector< std::map < > > format . More...
 
template<typename NumericT , unsigned int AlignmentV>
std::ostream & viennacl::operator<< (std::ostream &os, compressed_matrix< NumericT, AlignmentV > const &A)
 Output stream support for compressed_matrix. Output format is same as MATLAB, Octave, or SciPy. More...
 

Detailed Description

Implementation of the compressed_matrix class.

Definition in file compressed_matrix.hpp.