ViennaCL - The Vienna Computing Library
1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
devastator.hpp
Go to the documentation of this file.
1
#ifndef VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_DEVICES_GPU_AMD_NORTHERN_ISLANDS_DEVASTATOR_HPP_
2
#define VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_DEVICES_GPU_AMD_NORTHERN_ISLANDS_DEVASTATOR_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/templates/matrix_product_template.hpp
"
22
23
#include "
viennacl/device_specific/templates/row_wise_reduction_template.hpp
"
24
25
#include "
viennacl/device_specific/templates/matrix_axpy_template.hpp
"
26
27
#include "
viennacl/device_specific/templates/reduction_template.hpp
"
28
29
#include "
viennacl/device_specific/templates/vector_axpy_template.hpp
"
30
31
#include "
viennacl/device_specific/forwards.h
"
32
#include "
viennacl/device_specific/builtin_database/common.hpp
"
33
34
namespace
viennacl
{
35
namespace
device_specific{
36
namespace
builtin_database{
37
namespace
devices{
38
namespace
gpu{
39
namespace
amd{
40
namespace
northern_islands
{
41
namespace
devastator{
42
43
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'T'>
)
44
{
45
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
matrix_product_template::parameters_type
(1,8,16,8,2,1,2,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,8));
46
}
47
48
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'N'>
)
49
{
50
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
matrix_product_template::parameters_type
(1,16,16,8,2,1,2,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,16,8));
51
}
52
53
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'T'>
)
54
{
55
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
matrix_product_template::parameters_type
(2,64,16,4,2,1,2,
FETCH_FROM_GLOBAL_CONTIGUOUS
,
FETCH_FROM_GLOBAL_CONTIGUOUS
,0,0));
56
}
57
58
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'N'>
)
59
{
60
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
matrix_product_template::parameters_type
(1,16,16,8,1,2,2,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,8,16));
61
}
62
63
inline
void
add_4B
(
database_type<row_wise_reduction_template::parameters_type>
& db,
char_to_type<'T'>
)
64
{
65
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
row_wise_reduction_template::parameters_type
(4,2,64,512,
FETCH_FROM_GLOBAL_STRIDED
));
66
}
67
68
inline
void
add_4B
(
database_type<row_wise_reduction_template::parameters_type>
& db,
char_to_type<'N'>
)
69
{
70
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
row_wise_reduction_template::parameters_type
(2,64,2,128,
FETCH_FROM_GLOBAL_STRIDED
));
71
}
72
73
inline
void
add_4B
(
database_type<matrix_axpy_template::parameters_type>
& db)
74
{
75
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
matrix_axpy_template::parameters_type
(1,64,2,128,4,
FETCH_FROM_GLOBAL_STRIDED
));
76
}
77
78
inline
void
add_4B
(
database_type<reduction_template::parameters_type>
& db)
79
{
80
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
reduction_template::parameters_type
(8,256,16,
FETCH_FROM_GLOBAL_STRIDED
));
81
}
82
83
inline
void
add_4B
(
database_type<vector_axpy_template::parameters_type>
& db)
84
{
85
db.
add_4B
(
amd_id
, CL_DEVICE_TYPE_GPU,
ocl::northern_islands
,
"Devastator"
,
vector_axpy_template::parameters_type
(1,256,4,
FETCH_FROM_GLOBAL_STRIDED
));
86
}
87
88
}
89
}
90
}
91
}
92
}
93
}
94
}
95
}
96
#endif
viennacl::ocl::northern_islands
Definition:
device_utils.hpp:65
viennacl::device_specific::builtin_database::database_type
Definition:
common.hpp:44
matrix_product_template.hpp
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::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
viennacl::ocl::amd_id
Definition:
device_utils.hpp:50
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::builtin_database::devices::gpu::amd::northern_islands::devastator::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition:
devastator.hpp:43
viennacl::device_specific::FETCH_FROM_GLOBAL_CONTIGUOUS
Definition:
template_base.hpp:51
viennacl::device_specific::template_base::parameters_type
Definition:
template_base.hpp:57
reduction_template.hpp
viennacl::device_specific::template_base_impl< row_wise_reduction_template, row_wise_reduction_parameters >::parameters_type
row_wise_reduction_parameters parameters_type
Definition:
template_base.hpp:527
viennacl
device_specific
builtin_database
devices
gpu
amd
northern_islands
devastator.hpp
Generated on Fri Jul 31 2015 14:18:57 for ViennaCL - The Vienna Computing Library by
1.8.9.1