ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
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-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 
22 
24 
26 
28 
30 
33 
34 namespace viennacl{
35 namespace device_specific{
36 namespace builtin_database{
37 namespace devices{
38 namespace gpu{
39 namespace nvidia{
40 namespace kepler{
41 namespace tesla_k20m{
42 
44 {
45  db.add_8B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_product_template::parameters_type(1,2,8,32,8,2,4,FETCH_FROM_LOCAL,FETCH_FROM_GLOBAL_STRIDED,4,16));
46 }
47 
49 {
50  db.add_8B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_product_template::parameters_type(1,16,16,32,2,1,4,FETCH_FROM_LOCAL,FETCH_FROM_LOCAL,16,32));
51 }
52 
54 {
55  db.add_8B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_product_template::parameters_type(1,2,8,64,16,1,2,FETCH_FROM_LOCAL,FETCH_FROM_GLOBAL_STRIDED,32,4));
56 }
57 
59 {
60  db.add_8B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_product_template::parameters_type(1,128,32,1,1,1,16,FETCH_FROM_GLOBAL_CONTIGUOUS,FETCH_FROM_LOCAL,16,8));
61 }
62 
64 {
65  db.add_4B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_product_template::parameters_type(1,8,32,16,4,8,4,FETCH_FROM_LOCAL,FETCH_FROM_GLOBAL_STRIDED,8,16));
66 }
67 
69 {
70  db.add_4B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_product_template::parameters_type(1,32,16,32,8,2,4,FETCH_FROM_LOCAL,FETCH_FROM_LOCAL,16,64));
71 }
72 
74 {
76 }
77 
79 {
80  db.add_4B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_product_template::parameters_type(1,128,64,1,4,2,16,FETCH_FROM_GLOBAL_STRIDED,FETCH_FROM_LOCAL,16,8));
81 }
82 
84 {
85  db.add_8B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", row_wise_reduction_template::parameters_type(1,2,64,1024,FETCH_FROM_GLOBAL_STRIDED));
86 }
87 
89 {
91 }
92 
94 {
95  db.add_4B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", row_wise_reduction_template::parameters_type(1,1,128,2048,FETCH_FROM_GLOBAL_STRIDED));
96 }
97 
99 {
101 }
102 
104 {
105  db.add_8B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", reduction_template::parameters_type(1,256,4096,FETCH_FROM_GLOBAL_STRIDED));
106 }
107 
109 {
110  db.add_4B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", reduction_template::parameters_type(1,128,512,FETCH_FROM_GLOBAL_STRIDED));
111 }
112 
114 {
115  db.add_8B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_axpy_template::parameters_type(1,64,8,128,128,FETCH_FROM_GLOBAL_STRIDED));
116 }
117 
119 {
120  db.add_4B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", matrix_axpy_template::parameters_type(1,32,4,128,128,FETCH_FROM_GLOBAL_CONTIGUOUS));
121 }
122 
124 {
125  db.add_8B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", vector_axpy_template::parameters_type(1,256,16384,FETCH_FROM_GLOBAL_STRIDED));
126 }
127 
129 {
130  db.add_4B(nvidia_id, CL_DEVICE_TYPE_GPU, ocl::unknown, "Tesla K20m", vector_axpy_template::parameters_type(1,256,16384,FETCH_FROM_GLOBAL_STRIDED));
131 }
132 
133 }
134 }
135 }
136 }
137 }
138 }
139 }
140 }
141 #endif
Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
Definition: cpu_ram.hpp:34
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
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
void add_4B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_k20m.hpp:63
Forwards declaration.
void add_8B(database_type< matrix_product_template::parameters_type > &db, char_to_type<'T'>, char_to_type<'T'>)
Definition: tesla_k20m.hpp:43