ViennaCL - The Vienna Computing Library: libviennacl/include/viennacl.hpp Source File

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
viennacl.hpp
Go to the documentation of this file.
1 #ifndef VIENNACL_VIENNACL_HPP
2 #define VIENNACL_VIENNACL_HPP
3
4 /* =========================================================================
5 Copyright (c) 2010-2014, 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 PDF manual)
17
18 License: MIT (X11), see file LICENSE in the base directory
19 ============================================================================= */
20
21 #include <stdlib.h>
22
23 #ifdef VIENNACL_WITH_OPENCL
24 #ifdef __APPLE__
25 #include <OpenCL/cl.h>
26 #else
27 #include <CL/cl.h>
28 #endif
29 #endif
30
31
32 // Extra export declarations when building with Visual Studio:
33 #if defined(_MSC_VER)
34 #if defined(viennacl_EXPORTS)
35 #define VIENNACL_EXPORTED_FUNCTION __declspec(dllexport)
36 #else
37 #define VIENNACL_EXPORTED_FUNCTION __declspec(dllimport)
38 #endif /* viennacl_EXPORTS */
39 #else /* defined (_MSC_VER) */
40 #define VIENNACL_EXPORTED_FUNCTION
41 #endif
42
43
44 #ifdef __cplusplus
45 extern "C" {
46 #endif
47
48 typedef int ViennaCLInt;
49
50
51 /************** Enums ***************/
52
53 typedef enum
54 {
55 ViennaCLInvalidBackend, // for catching uninitialized and invalid values
56 ViennaCLCUDA,
57 ViennaCLOpenCL,
58 ViennaCLHost
59 } ViennaCLBackendTypes;
60
61 typedef enum
62 {
63 ViennaCLInvalidOrder, // for catching uninitialized and invalid values
64 ViennaCLRowMajor,
65 ViennaCLColumnMajor
66 } ViennaCLOrder;
67
68 typedef enum
69 {
70 ViennaCLInvalidTranspose, // for catching uninitialized and invalid values
71 ViennaCLNoTrans,
72 ViennaCLTrans
73 } ViennaCLTranspose;
74
75 typedef enum
76 {
77 ViennaCLInvalidUplo, // for catching uninitialized and invalid values
78 ViennaCLUpper,
79 ViennaCLLower
80 } ViennaCLUplo;
81
82 typedef enum
83 {
84 ViennaCLInvalidDiag, // for catching uninitialized and invalid values
85 ViennaCLUnit,
86 ViennaCLNonUnit
87 } ViennaCLDiag;
88
89 typedef enum
90 {
91 ViennaCLInvalidPrecision, // for catching uninitialized and invalid values
92 ViennaCLFloat,
93 ViennaCLDouble
94 } ViennaCLPrecision;
95
96 // Error codes:
97 typedef enum
98 {
99 ViennaCLSuccess = 0,
100 ViennaCLGenericFailure
101 } ViennaCLStatus;
102
103
104 /************* Backend Management ******************/
105
107 struct ViennaCLBackend_impl;
108 typedef ViennaCLBackend_impl* ViennaCLBackend;
109
110 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendCreate(ViennaCLBackend * backend);
111 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendSetOpenCLContextID(ViennaCLBackend backend, ViennaCLInt context_id);
112 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendDestroy(ViennaCLBackend * backend);
113
114 /******** User Types **********/
115
116 struct ViennaCLHostScalar_impl;
117 typedef ViennaCLHostScalar_impl* ViennaCLHostScalar;
118
119 struct ViennaCLScalar_impl;
120 typedef ViennaCLScalar_impl* ViennaCLScalar;
121
122 struct ViennaCLVector_impl;
123 typedef ViennaCLVector_impl* ViennaCLVector;
124
125 struct ViennaCLMatrix_impl;
126 typedef ViennaCLMatrix_impl* ViennaCLMatrix;
127
128
129 /******************** BLAS Level 1 ***********************/
130
131 // IxASUM
132
133 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLiamax(ViennaCLInt *alpha, ViennaCLVector x);
134
135 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAiSamax(ViennaCLBackend backend, ViennaCLInt n,
136 ViennaCLInt *alpha,
137 float *x, ViennaCLInt offx, ViennaCLInt incx);
138 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAiDamax(ViennaCLBackend backend, ViennaCLInt n,
139 ViennaCLInt *alpha,
140 double *x, ViennaCLInt offx, ViennaCLInt incx);
141
142 #ifdef VIENNACL_WITH_OPENCL
143 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLiSamax(ViennaCLBackend backend, ViennaCLInt n,
144 ViennaCLInt *alpha,
145 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
146 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLiDamax(ViennaCLBackend backend, ViennaCLInt n,
147 ViennaCLInt *alpha,
148 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
149 #endif
150
151 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostiSamax(ViennaCLBackend backend, ViennaCLInt n,
152 ViennaCLInt *alpha,
153 float *x, ViennaCLInt offx, ViennaCLInt incx);
154 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostiDamax(ViennaCLBackend backend, ViennaCLInt n,
155 ViennaCLInt *alpha,
156 double *x, ViennaCLInt offx, ViennaCLInt incx);
157
158
159 // xASUM
160
161 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLasum(ViennaCLHostScalar *alpha, ViennaCLVector x);
162
163 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASasum(ViennaCLBackend backend, ViennaCLInt n,
164 float *alpha,
165 float *x, ViennaCLInt offx, ViennaCLInt incx);
166 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADasum(ViennaCLBackend backend, ViennaCLInt n,
167 double *alpha,
168 double *x, ViennaCLInt offx, ViennaCLInt incx);
169
170 #ifdef VIENNACL_WITH_OPENCL
171 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSasum(ViennaCLBackend backend, ViennaCLInt n,
172 float *alpha,
173 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
174 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDasum(ViennaCLBackend backend, ViennaCLInt n,
175 double *alpha,
176 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
177 #endif
178
179 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSasum(ViennaCLBackend backend, ViennaCLInt n,
180 float *alpha,
181 float *x, ViennaCLInt offx, ViennaCLInt incx);
182 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDasum(ViennaCLBackend backend, ViennaCLInt n,
183 double *alpha,
184 double *x, ViennaCLInt offx, ViennaCLInt incx);
185
186
187
188 // xAXPY
189
190 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLaxpy(ViennaCLHostScalar alpha, ViennaCLVector x, ViennaCLVector y);
191
192 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASaxpy(ViennaCLBackend backend, ViennaCLInt n,
193 float alpha,
194 float *x, ViennaCLInt offx, ViennaCLInt incx,
195 float *y, ViennaCLInt offy, ViennaCLInt incy);
196 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADaxpy(ViennaCLBackend backend, ViennaCLInt n,
197 double alpha,
198 double *x, ViennaCLInt offx, ViennaCLInt incx,
199 double *y, ViennaCLInt offy, ViennaCLInt incy);
200
201 #ifdef VIENNACL_WITH_OPENCL
202 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSaxpy(ViennaCLBackend backend, ViennaCLInt n,
203 float alpha,
204 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
205 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
206 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDaxpy(ViennaCLBackend backend, ViennaCLInt n,
207 double alpha,
208 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
209 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
210 #endif
211
212 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSaxpy(ViennaCLBackend backend, ViennaCLInt n,
213 float alpha,
214 float *x, ViennaCLInt offx, ViennaCLInt incx,
215 float *y, ViennaCLInt offy, ViennaCLInt incy);
216 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDaxpy(ViennaCLBackend backend, ViennaCLInt n,
217 double alpha,
218 double *x, ViennaCLInt offx, ViennaCLInt incx,
219 double *y, ViennaCLInt offy, ViennaCLInt incy);
220
221
222 // xCOPY
223
224 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLcopy(ViennaCLVector x, ViennaCLVector y);
225
226 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAScopy(ViennaCLBackend backend, ViennaCLInt n,
227 float *x, ViennaCLInt offx, ViennaCLInt incx,
228 float *y, ViennaCLInt offy, ViennaCLInt incy);
229 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADcopy(ViennaCLBackend backend, ViennaCLInt n,
230 double *x, ViennaCLInt offx, ViennaCLInt incx,
231 double *y, ViennaCLInt offy, ViennaCLInt incy);
232
233 #ifdef VIENNACL_WITH_OPENCL
234 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLScopy(ViennaCLBackend backend, ViennaCLInt n,
235 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
236 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
237 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDcopy(ViennaCLBackend backend, ViennaCLInt n,
238 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
239 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
240 #endif
241
242 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostScopy(ViennaCLBackend backend, ViennaCLInt n,
243 float *x, ViennaCLInt offx, ViennaCLInt incx,
244 float *y, ViennaCLInt offy, ViennaCLInt incy);
245 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDcopy(ViennaCLBackend backend, ViennaCLInt n,
246 double *x, ViennaCLInt offx, ViennaCLInt incx,
247 double *y, ViennaCLInt offy, ViennaCLInt incy);
248
249 // xDOT
250
251 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLdot(ViennaCLHostScalar *alpha, ViennaCLVector x, ViennaCLVector y);
252
253 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASdot(ViennaCLBackend backend, ViennaCLInt n,
254 float *alpha,
255 float *x, ViennaCLInt offx, ViennaCLInt incx,
256 float *y, ViennaCLInt offy, ViennaCLInt incy);
257 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADdot(ViennaCLBackend backend, ViennaCLInt n,
258 double *alpha,
259 double *x, ViennaCLInt offx, ViennaCLInt incx,
260 double *y, ViennaCLInt offy, ViennaCLInt incy);
261
262 #ifdef VIENNACL_WITH_OPENCL
263 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSdot(ViennaCLBackend backend, ViennaCLInt n,
264 float *alpha,
265 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
266 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
267 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDdot(ViennaCLBackend backend, ViennaCLInt n,
268 double *alpha,
269 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
270 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
271 #endif
272
273 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSdot(ViennaCLBackend backend, ViennaCLInt n,
274 float *alpha,
275 float *x, ViennaCLInt offx, ViennaCLInt incx,
276 float *y, ViennaCLInt offy, ViennaCLInt incy);
277 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDdot(ViennaCLBackend backend, ViennaCLInt n,
278 double *alpha,
279 double *x, ViennaCLInt offx, ViennaCLInt incx,
280 double *y, ViennaCLInt offy, ViennaCLInt incy);
281
282 // xNRM2
283
284 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLnrm2(ViennaCLHostScalar *alpha, ViennaCLVector x);
285
286 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASnrm2(ViennaCLBackend backend, ViennaCLInt n,
287 float *alpha,
288 float *x, ViennaCLInt offx, ViennaCLInt incx);
289 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADnrm2(ViennaCLBackend backend, ViennaCLInt n,
290 double *alpha,
291 double *x, ViennaCLInt offx, ViennaCLInt incx);
292
293 #ifdef VIENNACL_WITH_OPENCL
294 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSnrm2(ViennaCLBackend backend, ViennaCLInt n,
295 float *alpha,
296 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
297 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDnrm2(ViennaCLBackend backend, ViennaCLInt n,
298 double *alpha,
299 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
300 #endif
301
302 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSnrm2(ViennaCLBackend backend, ViennaCLInt n,
303 float *alpha,
304 float *x, ViennaCLInt offx, ViennaCLInt incx);
305 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDnrm2(ViennaCLBackend backend, ViennaCLInt n,
306 double *alpha,
307 double *x, ViennaCLInt offx, ViennaCLInt incx);
308
309
310 // xROT
311
312 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLrot(ViennaCLVector x, ViennaCLVector y,
313 ViennaCLHostScalar c, ViennaCLHostScalar s);
314
315 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASrot(ViennaCLBackend backend, ViennaCLInt n,
316 float *x, ViennaCLInt offx, ViennaCLInt incx,
317 float *y, ViennaCLInt offy, ViennaCLInt incy,
318 float c, float s);
319 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADrot(ViennaCLBackend backend, ViennaCLInt n,
320 double *x, ViennaCLInt offx, ViennaCLInt incx,
321 double *y, ViennaCLInt offy, ViennaCLInt incy,
322 double c, double s);
323
324 #ifdef VIENNACL_WITH_OPENCL
325 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSrot(ViennaCLBackend backend, ViennaCLInt n,
326 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
327 cl_mem y, ViennaCLInt offy, ViennaCLInt incy,
328 float c, float s);
329 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDrot(ViennaCLBackend backend, ViennaCLInt n,
330 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
331 cl_mem y, ViennaCLInt offy, ViennaCLInt incy,
332 double c, double s);
333 #endif
334
335 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSrot(ViennaCLBackend backend, ViennaCLInt n,
336 float *x, ViennaCLInt offx, ViennaCLInt incx,
337 float *y, ViennaCLInt offy, ViennaCLInt incy,
338 float c, float s);
339 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDrot(ViennaCLBackend backend, ViennaCLInt n,
340 double *x, ViennaCLInt offx, ViennaCLInt incx,
341 double *y, ViennaCLInt offy, ViennaCLInt incy,
342 double c, double s);
343
344
345
346 // xSCAL
347
348 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLscal(ViennaCLHostScalar alpha, ViennaCLVector x);
349
350 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASscal(ViennaCLBackend backend, ViennaCLInt n,
351 float alpha,
352 float *x, ViennaCLInt offx, ViennaCLInt incx);
353 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADscal(ViennaCLBackend backend, ViennaCLInt n,
354 double alpha,
355 double *x, ViennaCLInt offx, ViennaCLInt incx);
356
357 #ifdef VIENNACL_WITH_OPENCL
358 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSscal(ViennaCLBackend backend, ViennaCLInt n,
359 float alpha,
360 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
361 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDscal(ViennaCLBackend backend, ViennaCLInt n,
362 double alpha,
363 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
364 #endif
365
366 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSscal(ViennaCLBackend backend, ViennaCLInt n,
367 float alpha,
368 float *x, ViennaCLInt offx, ViennaCLInt incx);
369 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDscal(ViennaCLBackend backend, ViennaCLInt n,
370 double alpha,
371 double *x, ViennaCLInt offx, ViennaCLInt incx);
372
373
374 // xSWAP
375
376 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLswap(ViennaCLVector x, ViennaCLVector y);
377
378 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASswap(ViennaCLBackend backend, ViennaCLInt n,
379 float *x, ViennaCLInt offx, ViennaCLInt incx,
380 float *y, ViennaCLInt offy, ViennaCLInt incy);
381 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADswap(ViennaCLBackend backend, ViennaCLInt n,
382 double *x, ViennaCLInt offx, ViennaCLInt incx,
383 double *y, ViennaCLInt offy, ViennaCLInt incy);
384
385 #ifdef VIENNACL_WITH_OPENCL
386 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSswap(ViennaCLBackend backend, ViennaCLInt n,
387 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
388 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
389 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDswap(ViennaCLBackend backend, ViennaCLInt n,
390 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
391 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
392 #endif
393
394 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSswap(ViennaCLBackend backend, ViennaCLInt n,
395 float *x, ViennaCLInt offx, ViennaCLInt incx,
396 float *y, ViennaCLInt offy, ViennaCLInt incy);
397 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDswap(ViennaCLBackend backend, ViennaCLInt n,
398 double *x, ViennaCLInt offx, ViennaCLInt incx,
399 double *y, ViennaCLInt offy, ViennaCLInt incy);
400
401
402
403 /******************** BLAS Level 2 ***********************/
404
405 // xGEMV: y <- alpha * Ax + beta * y
406
407 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLgemv(ViennaCLHostScalar alpha, ViennaCLMatrix A, ViennaCLVector x, ViennaCLHostScalar beta, ViennaCLVector y);
408
409 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASgemv(ViennaCLBackend backend,
410 ViennaCLOrder order, ViennaCLTranspose transA,
411 ViennaCLInt m, ViennaCLInt n, float alpha, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
412 float *x, ViennaCLInt offx, ViennaCLInt incx,
413 float beta,
414 float *y, ViennaCLInt offy, ViennaCLInt incy);
415 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADgemv(ViennaCLBackend backend,
416 ViennaCLOrder order, ViennaCLTranspose transA,
417 ViennaCLInt m, ViennaCLInt n, double alpha, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
418 double *x, ViennaCLInt offx, ViennaCLInt incx,
419 double beta,
420 double *y, ViennaCLInt offy, ViennaCLInt incy);
421
422 #ifdef VIENNACL_WITH_OPENCL
423 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSgemv(ViennaCLBackend backend,
424 ViennaCLOrder order, ViennaCLTranspose transA,
425 ViennaCLInt m, ViennaCLInt n, float alpha, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
426 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
427 float beta,
428 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
429 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDgemv(ViennaCLBackend backend,
430 ViennaCLOrder order, ViennaCLTranspose transA,
431 ViennaCLInt m, ViennaCLInt n, double alpha, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
432 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
433 double beta,
434 cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
435 #endif
436
437 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSgemv(ViennaCLBackend backend,
438 ViennaCLOrder order, ViennaCLTranspose transA,
439 ViennaCLInt m, ViennaCLInt n, float alpha, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
440 float *x, ViennaCLInt offx, ViennaCLInt incx,
441 float beta,
442 float *y, ViennaCLInt offy, ViennaCLInt incy);
443 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDgemv(ViennaCLBackend backend,
444 ViennaCLOrder order, ViennaCLTranspose transA,
445 ViennaCLInt m, ViennaCLInt n, double alpha, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
446 double *x, ViennaCLInt offx, ViennaCLInt incx,
447 double beta,
448 double *y, ViennaCLInt offy, ViennaCLInt incy);
449
450 // xTRSV: Ax <- x
451
452 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLtrsv(ViennaCLMatrix A, ViennaCLVector x, ViennaCLUplo uplo);
453
454 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAStrsv(ViennaCLBackend backend,
455 ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag,
456 ViennaCLInt n, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
457 float *x, ViennaCLInt offx, ViennaCLInt incx);
458 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADtrsv(ViennaCLBackend backend,
459 ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag,
460 ViennaCLInt n, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
461 double *x, ViennaCLInt offx, ViennaCLInt incx);
462
463 #ifdef VIENNACL_WITH_OPENCL
464 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLStrsv(ViennaCLBackend backend,
465 ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag,
466 ViennaCLInt n, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
467 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
468 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDtrsv(ViennaCLBackend backend,
469 ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag,
470 ViennaCLInt n, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
471 cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
472 #endif
473
474 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostStrsv(ViennaCLBackend backend,
475 ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag,
476 ViennaCLInt n, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
477 float *x, ViennaCLInt offx, ViennaCLInt incx);
478 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDtrsv(ViennaCLBackend backend,
479 ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag,
480 ViennaCLInt n, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
481 double *x, ViennaCLInt offx, ViennaCLInt incx);
482
483
484 // xGER: A <- alpha * x * y + A
485
486 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLger(ViennaCLHostScalar alpha, ViennaCLVector x, ViennaCLVector y, ViennaCLMatrix A);
487
488 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASger(ViennaCLBackend backend,
489 ViennaCLOrder order,
490 ViennaCLInt m, ViennaCLInt n,
491 float alpha,
492 float *x, ViennaCLInt offx, ViennaCLInt incx,
493 float *y, ViennaCLInt offy, ViennaCLInt incy,
494 float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda);
495 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADger(ViennaCLBackend backend,
496 ViennaCLOrder order,
497 ViennaCLInt m, ViennaCLInt n,
498 double alpha,
499 double *x, ViennaCLInt offx, ViennaCLInt incx,
500 double *y, ViennaCLInt offy, ViennaCLInt incy,
501 double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda);
502
503 #ifdef VIENNACL_WITH_OPENCL
504 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSger(ViennaCLBackend backend,
505 ViennaCLOrder order,
506 ViennaCLInt m, ViennaCLInt n,
507 float alpha,
508 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
509 cl_mem y, ViennaCLInt offy, ViennaCLInt incy,
510 cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda);
511 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDger(ViennaCLBackend backend,
512 ViennaCLOrder order,
513 ViennaCLInt m, ViennaCLInt n,
514 double alpha,
515 cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
516 cl_mem y, ViennaCLInt offy, ViennaCLInt incy,
517 cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda);
518 #endif
519
520 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSger(ViennaCLBackend backend,
521 ViennaCLOrder order,
522 ViennaCLInt m, ViennaCLInt n,
523 float alpha,
524 float *x, ViennaCLInt offx, ViennaCLInt incx,
525 float *y, ViennaCLInt offy, ViennaCLInt incy,
526 float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda);
527 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDger(ViennaCLBackend backend,
528 ViennaCLOrder order,
529 ViennaCLInt m, ViennaCLInt n,
530 double alpha,
531 double *x, ViennaCLInt offx, ViennaCLInt incx,
532 double *y, ViennaCLInt offy, ViennaCLInt incy,
533 double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda);
534
535
536
537 /******************** BLAS Level 3 ***********************/
538
539 // xGEMM: C <- alpha * AB + beta * C
540
541 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLgemm(ViennaCLHostScalar alpha, ViennaCLMatrix A, ViennaCLMatrix B, ViennaCLHostScalar beta, ViennaCLMatrix C);
542
543 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASgemm(ViennaCLBackend backend,
544 ViennaCLOrder orderA, ViennaCLTranspose transA,
545 ViennaCLOrder orderB, ViennaCLTranspose transB,
546 ViennaCLOrder orderC,
547 ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
548 float alpha,
549 float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
550 float *B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb,
551 float beta,
552 float *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
553 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADgemm(ViennaCLBackend backend,
554 ViennaCLOrder orderA, ViennaCLTranspose transA,
555 ViennaCLOrder orderB, ViennaCLTranspose transB,
556 ViennaCLOrder orderC,
557 ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
558 double alpha,
559 double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
560 double *B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb,
561 double beta,
562 double *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
563
564 #ifdef VIENNACL_WITH_OPENCL
565 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSgemm(ViennaCLBackend backend,
566 ViennaCLOrder orderA, ViennaCLTranspose transA,
567 ViennaCLOrder orderB, ViennaCLTranspose transB,
568 ViennaCLOrder orderC,
569 ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
570 float alpha,
571 cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
572 cl_mem B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb,
573 float beta,
574 cl_mem C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
575 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDgemm(ViennaCLBackend backend,
576 ViennaCLOrder orderA, ViennaCLTranspose transA,
577 ViennaCLOrder orderB, ViennaCLTranspose transB,
578 ViennaCLOrder orderC,
579 ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
580 double alpha,
581 cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
582 cl_mem B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb,
583 double beta,
584 cl_mem C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
585 #endif
586
587 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSgemm(ViennaCLBackend backend,
588 ViennaCLOrder orderA, ViennaCLTranspose transA,
589 ViennaCLOrder orderB, ViennaCLTranspose transB,
590 ViennaCLOrder orderC,
591 ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
592 float alpha,
593 float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
594 float *B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb,
595 float beta,
596 float *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
597 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDgemm(ViennaCLBackend backend,
598 ViennaCLOrder orderA, ViennaCLTranspose transA,
599 ViennaCLOrder orderB, ViennaCLTranspose transB,
600 ViennaCLOrder orderC,
601 ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
602 double alpha,
603 double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda,
604 double *B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb,
605 double beta,
606 double *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
607
608 // xTRSM: Triangular solves with multiple right hand sides
609
610 VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLtrsm(ViennaCLMatrix A, ViennaCLUplo uplo, ViennaCLDiag diag, ViennaCLMatrix B);
611
612 #ifdef __cplusplus
613 }
614 #endif
615
616
617 #endif
ViennaCLHostDaxpy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDaxpy(ViennaCLBackend backend, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas1_host.cpp:109
ViennaCLBackendTypes
ViennaCLBackendTypes
Definition: viennacl.hpp:53
ViennaCLHostSscal
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSscal(ViennaCLBackend backend, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas1_host.cpp:243
ViennaCLBackendCreate
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendCreate(ViennaCLBackend *backend)
Definition: backend.cpp:25
ViennaCLHostScopy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostScopy(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas1_host.cpp:126
ViennaCLNonUnit
Definition: viennacl.hpp:86
ViennaCLHost
Definition: viennacl.hpp:58
ViennaCLTranspose
ViennaCLTranspose
Definition: viennacl.hpp:68
ViennaCLHostSger
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSger(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLInt m, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda)
Definition: blas2_host.cpp:176
ViennaCLaxpy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLaxpy(ViennaCLHostScalar alpha, ViennaCLVector x, ViennaCLVector y)
Definition: blas1.cpp:116
ViennaCLColumnMajor
Definition: viennacl.hpp:65
ViennaCLBackend_impl
Generic backend for CUDA, OpenCL, host-based stuff.
Definition: viennacl_private.hpp:54
ViennaCLHostDrot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDrot(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy, double c, double s)
Definition: blas1_host.cpp:225
ViennaCLHostDdot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDdot(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas1_host.cpp:168
ViennaCLCUDADscal
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADscal(ViennaCLBackend backend, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLCUDADdot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADdot(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
ViennaCLOpenCLDgemv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDgemv(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLInt m, ViennaCLInt n, double alpha, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, cl_mem x, ViennaCLInt offx, ViennaCLInt incx, double beta, cl_mem y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas2_opencl.cpp:60
ViennaCLCUDADnrm2
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADnrm2(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLHostDscal
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDscal(ViennaCLBackend backend, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas1_host.cpp:255
ViennaCLUnit
Definition: viennacl.hpp:85
ViennaCLInvalidDiag
Definition: viennacl.hpp:84
ViennaCLCUDASgemm
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASgemm(ViennaCLBackend backend, ViennaCLOrder orderA, ViennaCLTranspose transA, ViennaCLOrder orderB, ViennaCLTranspose transB, ViennaCLOrder orderC, ViennaCLInt m, ViennaCLInt n, ViennaCLInt k, float alpha, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, float *B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb, float beta, float *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc)
ViennaCLBackendSetOpenCLContextID
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendSetOpenCLContextID(ViennaCLBackend backend, ViennaCLInt context_id)
Definition: backend.cpp:32
ViennaCLHostDnrm2
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDnrm2(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas1_host.cpp:196
ViennaCLHostSswap
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSswap(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas1_host.cpp:269
ViennaCLDouble
Definition: viennacl.hpp:93
ViennaCLCUDADger
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADger(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLInt m, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda)
ViennaCLHostDcopy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDcopy(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas1_host.cpp:139
ViennaCLDiag
ViennaCLDiag
Definition: viennacl.hpp:82
ViennaCLHostSgemv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSgemv(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLInt m, ViennaCLInt n, float alpha, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, float *x, ViennaCLInt offx, ViennaCLInt incx, float beta, float *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas2_host.cpp:36
ViennaCLStatus
ViennaCLStatus
Definition: viennacl.hpp:97
ViennaCLHostSdot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSdot(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas1_host.cpp:154
ViennaCLHostStrsv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostStrsv(ViennaCLBackend backend, ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag, ViennaCLInt n, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, float *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas2_host.cpp:88
ViennaCLHostDgemm
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDgemm(ViennaCLBackend backend, ViennaCLOrder orderA, ViennaCLTranspose transA, ViennaCLOrder orderB, ViennaCLTranspose transB, ViennaCLOrder orderC, ViennaCLInt m, ViennaCLInt n, ViennaCLInt k, double alpha, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, double *B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb, double beta, double *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc)
Definition: blas3_host.cpp:108
ViennaCLgemm
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLgemm(ViennaCLHostScalar alpha, ViennaCLMatrix A, ViennaCLMatrix B, ViennaCLHostScalar beta, ViennaCLMatrix C)
Definition: blas3.cpp:35
ViennaCLLower
Definition: viennacl.hpp:79
ViennaCLCUDASasum
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASasum(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLHostDger
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDger(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLInt m, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda)
Definition: blas2_host.cpp:198
ViennaCLCUDASnrm2
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASnrm2(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLMatrix_impl::order
ViennaCLOrder order
Definition: viennacl_private.hpp:117
VIENNACL_EXPORTED_FUNCTION
#define VIENNACL_EXPORTED_FUNCTION
Definition: viennacl.hpp:40
ViennaCLasum
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLasum(ViennaCLHostScalar *alpha, ViennaCLVector x)
Definition: blas1.cpp:77
ViennaCLHostDswap
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDswap(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas1_host.cpp:282
ViennaCLCUDASgemv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASgemv(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLInt m, ViennaCLInt n, float alpha, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, float *x, ViennaCLInt offx, ViennaCLInt incx, float beta, float *y, ViennaCLInt offy, ViennaCLInt incy)
ViennaCLtrsm
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLtrsm(ViennaCLMatrix A, ViennaCLUplo uplo, ViennaCLDiag diag, ViennaCLMatrix B)
Definition: blas3.cpp:118
ViennaCLCUDADgemm
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADgemm(ViennaCLBackend backend, ViennaCLOrder orderA, ViennaCLTranspose transA, ViennaCLOrder orderB, ViennaCLTranspose transB, ViennaCLOrder orderC, ViennaCLInt m, ViennaCLInt n, ViennaCLInt k, double alpha, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, double *B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb, double beta, double *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc)
ViennaCLcopy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLcopy(ViennaCLVector x, ViennaCLVector y)
Definition: blas1.cpp:163
ViennaCLHostiDamax
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostiDamax(ViennaCLBackend backend, ViennaCLInt n, ViennaCLInt *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas1_host.cpp:51
ViennaCLMatrix_impl
Definition: viennacl_private.hpp:113
ViennaCLVector
ViennaCLVector_impl * ViennaCLVector
Definition: viennacl.hpp:122
ViennaCLHostDgemv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDgemv(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLInt m, ViennaCLInt n, double alpha, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, double *x, ViennaCLInt offx, ViennaCLInt incx, double beta, double *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas2_host.cpp:60
ViennaCLVector_impl
Definition: viennacl_private.hpp:94
ViennaCLCUDASscal
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASscal(ViennaCLBackend backend, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLgemv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLgemv(ViennaCLHostScalar alpha, ViennaCLMatrix A, ViennaCLVector x, ViennaCLHostScalar beta, ViennaCLVector y)
Definition: blas2.cpp:36
ViennaCLCUDADtrsv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADtrsv(ViennaCLBackend backend, ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag, ViennaCLInt n, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, double *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLiamax
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLiamax(ViennaCLInt *alpha, ViennaCLVector x)
Definition: blas1.cpp:40
ViennaCLMatrix_impl::backend
ViennaCLBackend backend
Definition: viennacl_private.hpp:115
ViennaCLHostSrot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSrot(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy, float c, float s)
Definition: blas1_host.cpp:211
ViennaCLUplo
ViennaCLUplo
Definition: viennacl.hpp:75
ViennaCLBackendDestroy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendDestroy(ViennaCLBackend *backend)
Definition: backend.cpp:39
ViennaCLCUDASswap
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASswap(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
ViennaCLOrder
ViennaCLOrder
Definition: viennacl.hpp:61
ViennaCLCUDASaxpy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASaxpy(ViennaCLBackend backend, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
ViennaCLInvalidUplo
Definition: viennacl.hpp:77
ViennaCLCUDASger
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASger(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLInt m, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda)
ViennaCLCUDA
Definition: viennacl.hpp:56
ViennaCLScalar_impl
Definition: viennacl_private.hpp:77
ViennaCLInt
int ViennaCLInt
Definition: viennacl.hpp:48
ViennaCLCUDADgemv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADgemv(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLInt m, ViennaCLInt n, double alpha, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, double *x, ViennaCLInt offx, ViennaCLInt incx, double beta, double *y, ViennaCLInt offy, ViennaCLInt incy)
viennacl::diag
vector_expression< const matrix_base< NumericT >, const int, op_matrix_diag > diag(const matrix_base< NumericT > &A, int k=0)
Definition: matrix.hpp:895
ViennaCLGenericFailure
Definition: viennacl.hpp:100
ViennaCLOpenCLSger
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSger(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLInt m, ViennaCLInt n, float alpha, cl_mem x, ViennaCLInt offx, ViennaCLInt incx, cl_mem y, ViennaCLInt offy, ViennaCLInt incy, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda)
Definition: blas2_opencl.cpp:176
ViennaCLrot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLrot(ViennaCLVector x, ViennaCLVector y, ViennaCLHostScalar c, ViennaCLHostScalar s)
Definition: blas1.cpp:291
ViennaCLCUDASrot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASrot(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy, float c, float s)
ViennaCLdot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLdot(ViennaCLHostScalar *alpha, ViennaCLVector x, ViennaCLVector y)
Definition: blas1.cpp:206
ViennaCLPrecision
ViennaCLPrecision
Definition: viennacl.hpp:89
ViennaCLCUDADaxpy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADaxpy(ViennaCLBackend backend, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
ViennaCLCUDADswap
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADswap(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
ViennaCLCUDASdot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASdot(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
ViennaCLOpenCLDtrsv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDtrsv(ViennaCLBackend backend, ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag, ViennaCLInt n, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, cl_mem x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas2_opencl.cpp:130
ViennaCLOpenCLSgemv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLSgemv(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLInt m, ViennaCLInt n, float alpha, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, cl_mem x, ViennaCLInt offx, ViennaCLInt incx, float beta, cl_mem y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas2_opencl.cpp:36
ViennaCLger
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLger(ViennaCLHostScalar alpha, ViennaCLVector x, ViennaCLVector y, ViennaCLMatrix A)
Definition: blas2.cpp:177
ViennaCLHostScalar_impl
Definition: viennacl_private.hpp:67
ViennaCLInvalidTranspose
Definition: viennacl.hpp:70
ViennaCLInvalidPrecision
Definition: viennacl.hpp:91
ViennaCLHostSasum
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSasum(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas1_host.cpp:67
ViennaCLscal
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLscal(ViennaCLHostScalar alpha, ViennaCLVector x)
Definition: blas1.cpp:341
ViennaCLnrm2
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLnrm2(ViennaCLHostScalar *alpha, ViennaCLVector x)
Definition: blas1.cpp:252
ViennaCLCUDADasum
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADasum(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLInvalidOrder
Definition: viennacl.hpp:63
ViennaCLOpenCLDger
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLDger(ViennaCLBackend backend, ViennaCLOrder order, ViennaCLInt m, ViennaCLInt n, double alpha, cl_mem x, ViennaCLInt offx, ViennaCLInt incx, cl_mem y, ViennaCLInt offy, ViennaCLInt incy, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda)
Definition: blas2_opencl.cpp:198
ViennaCLHostSaxpy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSaxpy(ViennaCLBackend backend, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
Definition: blas1_host.cpp:95
ViennaCLInvalidBackend
Definition: viennacl.hpp:55
ViennaCLRowMajor
Definition: viennacl.hpp:64
ViennaCLHostSnrm2
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSnrm2(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas1_host.cpp:184
ViennaCLNoTrans
Definition: viennacl.hpp:71
ViennaCLCUDADrot
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADrot(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy, double c, double s)
ViennaCLCUDAiSamax
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAiSamax(ViennaCLBackend backend, ViennaCLInt n, ViennaCLInt *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLHostScalar
ViennaCLHostScalar_impl * ViennaCLHostScalar
Definition: viennacl.hpp:116
ViennaCLUpper
Definition: viennacl.hpp:78
ViennaCLHostSgemm
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSgemm(ViennaCLBackend backend, ViennaCLOrder orderA, ViennaCLTranspose transA, ViennaCLOrder orderB, ViennaCLTranspose transB, ViennaCLOrder orderC, ViennaCLInt m, ViennaCLInt n, ViennaCLInt k, float alpha, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, float *B, ViennaCLInt offB_row, ViennaCLInt offB_col, ViennaCLInt incB_row, ViennaCLInt incB_col, ViennaCLInt ldb, float beta, float *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc)
Definition: blas3_host.cpp:85
ViennaCLOpenCL
Definition: viennacl.hpp:57
ViennaCLTrans
Definition: viennacl.hpp:72
ViennaCLMatrix
ViennaCLMatrix_impl * ViennaCLMatrix
Definition: viennacl.hpp:125
ViennaCLtrsv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLtrsv(ViennaCLMatrix A, ViennaCLVector x, ViennaCLUplo uplo)
Definition: blas2.cpp:101
ViennaCLHostiSamax
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostiSamax(ViennaCLBackend backend, ViennaCLInt n, ViennaCLInt *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas1_host.cpp:39
ViennaCLCUDAScopy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAScopy(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
ViennaCLHostDasum
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDasum(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas1_host.cpp:79
ViennaCLOpenCLStrsv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLOpenCLStrsv(ViennaCLBackend backend, ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag, ViennaCLInt n, cl_mem A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, cl_mem x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas2_opencl.cpp:88
ViennaCLCUDAStrsv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAStrsv(ViennaCLBackend backend, ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag, ViennaCLInt n, float *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, float *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLFloat
Definition: viennacl.hpp:92
ViennaCLswap
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLswap(ViennaCLVector x, ViennaCLVector y)
Definition: blas1.cpp:379
ViennaCLHostDtrsv
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDtrsv(ViennaCLBackend backend, ViennaCLUplo uplo, ViennaCLOrder order, ViennaCLTranspose transA, ViennaCLDiag diag, ViennaCLInt n, double *A, ViennaCLInt offA_row, ViennaCLInt offA_col, ViennaCLInt incA_row, ViennaCLInt incA_col, ViennaCLInt lda, double *x, ViennaCLInt offx, ViennaCLInt incx)
Definition: blas2_host.cpp:130
ViennaCLSuccess
Definition: viennacl.hpp:99
ViennaCLBackend
ViennaCLBackend_impl * ViennaCLBackend
Definition: viennacl.hpp:107
ViennaCLCUDAiDamax
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAiDamax(ViennaCLBackend backend, ViennaCLInt n, ViennaCLInt *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLScalar
ViennaCLScalar_impl * ViennaCLScalar
Definition: viennacl.hpp:119
ViennaCLCUDADcopy
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADcopy(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)