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
tesla_k20m.hpp
Go to the documentation of this file.
1
#ifndef VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_DEVICES_GPU_NVIDIA_KEPLER_K20M_HPP_
2
#define VIENNACL_DEVICE_SPECIFIC_BUILTIN_DATABASE_DEVICES_GPU_NVIDIA_KEPLER_K20M_HPP_
3
4
/* =========================================================================
5
Copyright (c) 2010-2016, 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/forwards.h
"
24
#include "
viennacl/device_specific/builtin_database/common.hpp
"
25
26
namespace
viennacl{
27
namespace
device_specific{
28
namespace
builtin_database{
29
namespace
devices{
30
namespace
gpu{
31
namespace
nvidia{
32
namespace
kepler
{
33
namespace
tesla_k20m{
34
35
inline
void
add_8B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'T'>
)
36
{
37
db.
add_8B
(
nvidia_id
, CL_DEVICE_TYPE_GPU,
ocl::kepler
,
"Tesla K20m"
,
matrix_product_template::parameters_type
(1,2,8,32,8,2,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_GLOBAL_STRIDED
,4,16));
38
}
39
40
inline
void
add_8B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'N'>
)
41
{
42
db.
add_8B
(
nvidia_id
, CL_DEVICE_TYPE_GPU,
ocl::kepler
,
"Tesla K20m"
,
matrix_product_template::parameters_type
(1,16,16,32,2,1,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,16,32));
43
}
44
45
inline
void
add_8B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'T'>
)
46
{
47
db.
add_8B
(
nvidia_id
, CL_DEVICE_TYPE_GPU,
ocl::kepler
,
"Tesla K20m"
,
matrix_product_template::parameters_type
(1,2,8,64,16,1,2,
FETCH_FROM_LOCAL
,
FETCH_FROM_GLOBAL_STRIDED
,32,4));
48
}
49
50
inline
void
add_8B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'N'>
)
51
{
52
db.
add_8B
(
nvidia_id
, CL_DEVICE_TYPE_GPU,
ocl::kepler
,
"Tesla K20m"
,
matrix_product_template::parameters_type
(1,128,32,1,1,1,16,
FETCH_FROM_GLOBAL_CONTIGUOUS
,
FETCH_FROM_LOCAL
,16,8));
53
}
54
55
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'T'>
)
56
{
57
db.
add_4B
(
nvidia_id
, CL_DEVICE_TYPE_GPU,
ocl::kepler
,
"Tesla K20m"
,
matrix_product_template::parameters_type
(1,8,32,16,4,8,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_GLOBAL_STRIDED
,8,16));
58
}
59
60
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'T'>
,
char_to_type<'N'>
)
61
{
62
db.
add_4B
(
nvidia_id
, CL_DEVICE_TYPE_GPU,
ocl::kepler
,
"Tesla K20m"
,
matrix_product_template::parameters_type
(1,32,16,32,8,2,4,
FETCH_FROM_LOCAL
,
FETCH_FROM_LOCAL
,16,64));
63
}
64
65
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'T'>
)
66
{
67
db.
add_4B
(
nvidia_id
, CL_DEVICE_TYPE_GPU,
ocl::kepler
,
"Tesla K20m"
,
matrix_product_template::parameters_type
(4,8,2,4,8,2,8,
FETCH_FROM_GLOBAL_STRIDED
,
FETCH_FROM_GLOBAL_CONTIGUOUS
,0,0));
68
}
69
70
inline
void
add_4B
(
database_type<matrix_product_template::parameters_type>
& db,
char_to_type<'N'>
,
char_to_type<'N'>
)
71
{
72
db.
add_4B
(
nvidia_id
, CL_DEVICE_TYPE_GPU,
ocl::kepler
,
"Tesla K20m"
,
matrix_product_template::parameters_type
(1,128,64,1,4,2,16,
FETCH_FROM_GLOBAL_STRIDED
,
FETCH_FROM_LOCAL
,16,8));
73
}
74
75
76
}
77
}
78
}
79
}
80
}
81
}
82
}
83
}
84
#endif
viennacl::ocl::nvidia_id
Definition:
device_utils.hpp:49
viennacl::device_specific::builtin_database::database_type
Definition:
common.hpp:44
matrix_product_template.hpp
viennacl::ocl::kepler
Definition:
device_utils.hpp:60
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
viennacl::device_specific::builtin_database::devices::gpu::nvidia::kepler::tesla_k20m::add_4B
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition:
tesla_k20m.hpp:55
viennacl::device_specific::char_to_type
Definition:
forwards.h:260
forwards.h
Forwards declaration.
viennacl::device_specific::FETCH_FROM_LOCAL
Definition:
template_base.hpp:49
viennacl::device_specific::builtin_database::devices::gpu::nvidia::kepler::tesla_k20m::add_8B
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition:
tesla_k20m.hpp:35
viennacl::device_specific::FETCH_FROM_GLOBAL_CONTIGUOUS
Definition:
template_base.hpp:51
viennacl::device_specific::template_base::parameters_type
Definition:
template_base.hpp:57
viennacl
device_specific
builtin_database
devices
gpu
nvidia
kepler
tesla_k20m.hpp
Generated on Wed Jan 20 2016 22:32:39 for ViennaCL - The Vienna Computing Library by
1.8.6