ViennaCL - The Vienna Computing Library
1.2.0
Main Page
Namespaces
Data Structures
Files
File List
Globals
viennacl
linalg
detail
spai
block_matrix.hpp
Go to the documentation of this file.
1
#ifndef VIENNACL_LINALG_DETAIL_SPAI_BLOCK_MATRIX_HPP
2
#define VIENNACL_LINALG_DETAIL_SPAI_BLOCK_MATRIX_HPP
3
4
/* =========================================================================
5
Copyright (c) 2010-2011, Institute for Microelectronics,
6
Institute for Analysis and Scientific Computing,
7
TU Wien.
8
9
-----------------
10
ViennaCL - The Vienna Computing Library
11
-----------------
12
13
Project Head: Karl Rupp rupp@iue.tuwien.ac.at
14
15
(A list of authors and contributors can be found in the PDF manual)
16
17
License: MIT (X11), see file LICENSE in the base directory
18
============================================================================= */
19
20
#include <utility>
21
#include <iostream>
22
#include <fstream>
23
#include <string>
24
#include <algorithm>
25
#include <vector>
26
#include "
viennacl/ocl/backend.hpp
"
27
#include "
viennacl/tools/tools.hpp
"
28
35
namespace
viennacl
36
{
37
namespace
linalg
38
{
39
namespace
detail
40
{
41
namespace
spai
42
{
43
48
class
block_matrix
{
49
public
:
50
block_matrix
(){
51
52
}
56
viennacl::ocl::handle<cl_mem>
&
handle
(){
return
_elements; }
60
viennacl::ocl::handle<cl_mem>
&
handle1
() {
return
_matrix_dimensions; }
64
viennacl::ocl::handle<cl_mem>
&
handle2
() {
return
_start_block_inds; }
65
69
const
viennacl::ocl::handle<cl_mem>
&
handle
()
const
{
return
_elements; }
73
const
viennacl::ocl::handle<cl_mem>
&
handle1
()
const
{
return
_matrix_dimensions; }
77
const
viennacl::ocl::handle<cl_mem>
&
handle2
()
const
{
return
_start_block_inds; }
78
private
:
79
//unsigned int _vectorIndex;
80
viennacl::ocl::handle<cl_mem>
_elements;
81
viennacl::ocl::handle<cl_mem>
_matrix_dimensions;
82
viennacl::ocl::handle<cl_mem>
_start_block_inds;
83
};
84
85
86
}
87
}
88
}
89
}
90
#endif
Generated on Wed Oct 10 2012 09:58:14 for ViennaCL - The Vienna Computing Library by
1.8.1.2