ViennaCL - The Vienna Computing Library
1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
fallback.hpp
Go to the documentation of this file.
1
#ifndef VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_DEVICES_GPU_FALLBACK_HPP_
2
#define VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_DEVICES_GPU_FALLBACK_HPP_
3
4
/* =========================================================================
5
Copyright (c) 2010-2015, Institute for Microelectronics,
6
Institute for Analysis and Scientific Computing,
7
TU Wien.
8
Portions of this software are copyright by UChicago Argonne, LLC.
9
10
-----------------
11
ViennaCL - The Vienna Computing Library
12
-----------------
13
14
Project Head: Karl Rupp rupp@iue.tuwien.ac.at
15
16
(A list of authors and contributors can be found in the manual)
17
18
License: MIT (X11), see file LICENSE in the base directory
19
============================================================================= */
20
21
#include "
viennacl/device_specific/forwards.h
"
22
#include "
viennacl/device_specific/builtin_database/common.hpp
"
23
24
#include "
viennacl/device_specific/templates/vector_axpy_template.hpp
"
25
#include "
viennacl/device_specific/templates/reduction_template.hpp
"
26
#include "
viennacl/device_specific/templates/matrix_axpy_template.hpp
"
27
#include "
viennacl/device_specific/templates/row_wise_reduction_template.hpp
"
28
#include "
viennacl/device_specific/templates/matrix_product_template.hpp
"
29
30
namespace
viennacl
{
31
namespace
device_specific{
32
namespace
builtin_database{
33
namespace
devices{
34
namespace
gpu{
35
namespace
fallback{
36
37
inline
void
add_4B
(
database_type<vector_axpy_template::parameters_type>
& db)
38
{
39
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
vector_axpy_template::parameters_type
(1,128,128,
FETCH_FROM_GLOBAL_STRIDED
));
40
}
41
42
inline
void
add_4B
(
database_type<reduction_template::parameters_type>
& db)
43
{
44
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
reduction_template::parameters_type
(1,128,128,
FETCH_FROM_GLOBAL_STRIDED
));
45
}
46
47
inline
void
add_4B
(
database_type<matrix_axpy_template::parameters_type>
& db)
48
{
49
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_axpy_template::parameters_type
(1,8,8,8,8,
FETCH_FROM_GLOBAL_STRIDED
));
50
}
51
52
inline
void
add_4B
(
database_type<row_wise_reduction_template::parameters_type>
& db,
char_to_type<'N'>
)
53
{
54
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
row_wise_reduction_template::parameters_type
(1,1,128,128,
FETCH_FROM_GLOBAL_STRIDED
));
55
}
56
57
inline
void
add_4B
(
database_type<row_wise_reduction_template::parameters_type>
& db,
char_to_type<'T'>
)
58
{
59
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
row_wise_reduction_template::parameters_type
(1,1,128,128,
FETCH_FROM_GLOBAL_STRIDED
));
60
}
61
62
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'N'>
)
63
{
64
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_product_template::parameters_type
(1,8,8,8,4,4,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
65
}
66
67
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'N'>
)
68
{
69
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_product_template::parameters_type
(1,8,8,8,4,4,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
70
}
71
72
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'T'>
)
73
{
74
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_product_template::parameters_type
(1,8,8,8,4,4,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
75
}
76
77
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'T'>
)
78
{
79
db.
add_4B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_product_template::parameters_type
(1,8,8,8,4,4,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
80
}
81
82
83
inline
void
add_8B
(
database_type<vector_axpy_template::parameters_type>
& db)
84
{
85
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
vector_axpy_template::parameters_type
(1,128,128,
FETCH_FROM_GLOBAL_STRIDED
));
86
}
87
88
inline
void
add_8B
(
database_type<reduction_template::parameters_type>
& db)
89
{
90
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
reduction_template::parameters_type
(1,128,128,
FETCH_FROM_GLOBAL_STRIDED
));
91
}
92
93
inline
void
add_8B
(
database_type<matrix_axpy_template::parameters_type>
& db)
94
{
95
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_axpy_template::parameters_type
(1,8,8,8,8,
FETCH_FROM_GLOBAL_STRIDED
));
96
}
97
98
inline
void
add_8B
(
database_type<row_wise_reduction_template::parameters_type>
& db,
char_to_type<'N'>
)
99
{
100
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
row_wise_reduction_template::parameters_type
(1,1,128,128,
FETCH_FROM_GLOBAL_STRIDED
));
101
}
102
103
inline
void
add_8B
(
database_type<row_wise_reduction_template::parameters_type>
& db,
char_to_type<'T'>
)
104
{
105
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
row_wise_reduction_template::parameters_type
(1,1,128,128,
FETCH_FROM_GLOBAL_STRIDED
));
106
}
107
108
inline
void
add_8B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'N'>
)
109
{
110
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_product_template::parameters_type
(1,8,8,8,4,4,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
111
}
112
113
inline
void
add_8B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'N'>
)
114
{
115
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_product_template::parameters_type
(1,8,8,8,4,4,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
116
}
117
118
inline
void
add_8B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'T'>
)
119
{
120
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_product_template::parameters_type
(1,8,8,8,4,4,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
121
}
122
123
inline
void
add_8B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'T'>
)
124
{
125
db.
add_8B
(
unknown_id
, CL_DEVICE_TYPE_GPU,
unknown
,
""
,
matrix_product_template::parameters_type
(1,8,8,8,4,4,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
126
}
127
128
129
}
130
}
131
}
132
}
133
}
134
}
135
136
137
#endif
viennacl::device_specific::builtin_database::database_type
Definition:
common.hpp:44
matrix_product_template.hpp
viennacl::ocl::unknown_id
Definition:
device_utils.hpp:51
viennacl::device_specific::builtin_database::devices::gpu::fallback::add_8B
void add_8B(database_type< vector_axpy_template::parameters_type > &db)
Definition:
fallback.hpp:83
viennacl
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
Definition:
cpu_ram.hpp:34
viennacl::device_specific::builtin_database::database_type::add_8B
database_type< ParamT > & add_8B(vendor_id_type p0, device_type p1, ocl::device_architecture_family p2, device_name_type p3, ParamT const &p5)
Definition:
common.hpp:83
viennacl::device_specific::FETCH_FROM_GLOBAL_STRIDED
Definition:
template_base.hpp:50
common.hpp
viennacl::device_specific::builtin_database::database_type::add_4B
database_type< ParamT > & add_4B(vendor_id_type p0, device_type p1, ocl::device_architecture_family p2, device_name_type p3, ParamT const &p5)
Definition:
common.hpp:76
matrix_axpy_template.hpp
viennacl::device_specific::char_to_type
Definition:
forwards.h:260
forwards.h
Forwards declaration.
vector_axpy_template.hpp
viennacl::device_specific::FETCH_FROM_LOCAL
Definition:
template_base.hpp:49
row_wise_reduction_template.hpp
viennacl::device_specific::template_base::parameters_type
Definition:
template_base.hpp:57
reduction_template.hpp
viennacl::device_specific::builtin_database::devices::gpu::fallback::add_4B
void add_4B(database_type< vector_axpy_template::parameters_type > &db)
Definition:
fallback.hpp:37
viennacl::ocl::unknown
Definition:
device_utils.hpp:69
viennacl::device_specific::template_base_impl< vector_axpy_template, vector_axpy_parameters >::parameters_type
vector_axpy_parameters parameters_type
Definition:
template_base.hpp:527
viennacl
device_specific
builtin_database
devices
gpu
fallback.hpp
Generated on Fri Jul 31 2015 14:18:57 for ViennaCL - The Vienna Computing Library by
1.8.9.1