1 #ifndef VIENNACL_VIENNACL_HPP 
    2 #define VIENNACL_VIENNACL_HPP 
   23 #ifdef VIENNACL_WITH_OPENCL 
   25 #include <OpenCL/cl.h> 
   34   #if defined(viennacl_EXPORTS) 
   35     #define  VIENNACL_EXPORTED_FUNCTION __declspec(dllexport) 
   37     #define  VIENNACL_EXPORTED_FUNCTION __declspec(dllimport) 
   40  #define VIENNACL_EXPORTED_FUNCTION 
  137                                                              float *x, ViennaCLInt offx, ViennaCLInt incx);
 
  140                                                              double *x, ViennaCLInt offx, ViennaCLInt incx);
 
  142 #ifdef VIENNACL_WITH_OPENCL 
  145                                                                cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
 
  148                                                                cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
 
  153                                                              float *x, ViennaCLInt offx, ViennaCLInt incx);
 
  156                                                              double *x, ViennaCLInt offx, ViennaCLInt incx);
 
  165                                                             float *x, ViennaCLInt offx, ViennaCLInt incx);
 
  168                                                             double *x, ViennaCLInt offx, ViennaCLInt incx);
 
  170 #ifdef VIENNACL_WITH_OPENCL 
  173                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
 
  176                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
 
  181                                                             float *x, ViennaCLInt offx, ViennaCLInt incx);
 
  184                                                             double *x, ViennaCLInt offx, ViennaCLInt incx);
 
  194                                                             float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  195                                                             float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  198                                                             double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  199                                                             double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  201 #ifdef VIENNACL_WITH_OPENCL 
  204                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  205                                                               cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  208                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  209                                                               cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  214                                                             float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  215                                                             float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  218                                                             double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  219                                                             double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  227                                                             float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  228                                                             float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  230                                                             double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  231                                                             double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  233 #ifdef VIENNACL_WITH_OPENCL 
  235                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  236                                                               cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  238                                    cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  239                                    cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  243                                                             float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  244                                                             float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  246                                                             double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  247                                                             double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  255                                                            float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  256                                                            float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  259                                                            double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  260                                                            double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  262 #ifdef VIENNACL_WITH_OPENCL 
  265                                                              cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  266                                                              cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  269                                                              cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  270                                                              cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  275                                                            float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  276                                                            float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  279                                                            double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  280                                                            double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  288                                                             float *x, ViennaCLInt offx, ViennaCLInt incx);
 
  291                                                             double *x, ViennaCLInt offx, ViennaCLInt incx);
 
  293 #ifdef VIENNACL_WITH_OPENCL 
  296                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
 
  299                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
 
  304                                                             float *x, ViennaCLInt offx, ViennaCLInt incx);
 
  307                                                             double *x, ViennaCLInt offx, ViennaCLInt incx);
 
  313                                                       ViennaCLHostScalar c, ViennaCLHostScalar s);
 
  316                                                            float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  317                                                            float *y, ViennaCLInt offy, ViennaCLInt incy,
 
  320                                                            double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  321                                                            double *y, ViennaCLInt offy, ViennaCLInt incy,
 
  324 #ifdef VIENNACL_WITH_OPENCL 
  326                                                              cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  327                                                              cl_mem y, ViennaCLInt offy, ViennaCLInt incy,
 
  330                                                              cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  331                                                              cl_mem y, ViennaCLInt offy, ViennaCLInt incy,
 
  336                                                            float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  337                                                            float *y, ViennaCLInt offy, ViennaCLInt incy,
 
  340                                                            double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  341                                                            double *y, ViennaCLInt offy, ViennaCLInt incy,
 
  352                                                             float *x, ViennaCLInt offx, ViennaCLInt incx);
 
  355                                                             double *x, ViennaCLInt offx, ViennaCLInt incx);
 
  357 #ifdef VIENNACL_WITH_OPENCL 
  360                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
 
  363                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx);
 
  368                                                             float *x, ViennaCLInt offx, ViennaCLInt incx);
 
  371                                                             double *x, ViennaCLInt offx, ViennaCLInt incx);
 
  379                                                             float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  380                                                             float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  382                                                             double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  383                                                             double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  385 #ifdef VIENNACL_WITH_OPENCL 
  387                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  388                                                               cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  390                                                               cl_mem x, ViennaCLInt offx, ViennaCLInt incx,
 
  391                                                               cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  395                                                             float *x, ViennaCLInt offx, ViennaCLInt incx,
 
  396                                                             float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  398                                                             double *x, ViennaCLInt offx, ViennaCLInt incx,
 
  399                                                             double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  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,
 
  414                                                             float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  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,
 
  420                                                             double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  422 #ifdef VIENNACL_WITH_OPENCL 
  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,
 
  428                                                               cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  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,
 
  434                                                               cl_mem y, ViennaCLInt offy, ViennaCLInt incy);
 
  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,
 
  442                                                             float *y, ViennaCLInt offy, ViennaCLInt incy);
 
  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,
 
  448                                                             double *y, ViennaCLInt offy, ViennaCLInt incy);
 
  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);
 
  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);
 
  463 #ifdef VIENNACL_WITH_OPENCL 
  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);
 
  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);
 
  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);
 
  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);
 
  490                                                            ViennaCLInt m, ViennaCLInt n,
 
  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);
 
  497                                                            ViennaCLInt m,  ViennaCLInt n,
 
  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);
 
  503 #ifdef VIENNACL_WITH_OPENCL 
  506                                                              ViennaCLInt m, ViennaCLInt n,
 
  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);
 
  513                                                              ViennaCLInt m, ViennaCLInt n,
 
  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);
 
  522                                                            ViennaCLInt m, ViennaCLInt n,
 
  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);
 
  529                                                            ViennaCLInt m, ViennaCLInt n,
 
  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);
 
  547                                                             ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
 
  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,
 
  552                                                             float *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
 
  557                                                             ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
 
  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,
 
  562                                                             double *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
 
  564 #ifdef VIENNACL_WITH_OPENCL 
  569                                                               ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
 
  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,
 
  574                                                               cl_mem C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
 
  579                                                               ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
 
  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,
 
  584                                                               cl_mem C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
 
  591                                                             ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
 
  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,
 
  596                                                             float *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
 
  601                                                             ViennaCLInt m, ViennaCLInt n, ViennaCLInt k,
 
  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,
 
  606                                                             double *C, ViennaCLInt offC_row, ViennaCLInt offC_col, ViennaCLInt incC_row, ViennaCLInt incC_col, ViennaCLInt ldc);
 
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDaxpy(ViennaCLBackend backend, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSscal(ViennaCLBackend backend, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendCreate(ViennaCLBackend *backend)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostScopy(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLaxpy(ViennaCLHostScalar alpha, ViennaCLVector x, ViennaCLVector y)
Generic backend for CUDA, OpenCL, host-based stuff. 
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDdot(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADscal(ViennaCLBackend backend, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADdot(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADnrm2(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDscal(ViennaCLBackend backend, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendSetOpenCLContextID(ViennaCLBackend backend, ViennaCLInt context_id)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDnrm2(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSswap(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDcopy(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSdot(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
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)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLgemm(ViennaCLHostScalar alpha, ViennaCLMatrix A, ViennaCLMatrix B, ViennaCLHostScalar beta, ViennaCLMatrix C)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASasum(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASnrm2(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
#define VIENNACL_EXPORTED_FUNCTION
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLasum(ViennaCLHostScalar *alpha, ViennaCLVector x)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDswap(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLtrsm(ViennaCLMatrix A, ViennaCLUplo uplo, ViennaCLDiag diag, ViennaCLMatrix B)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLcopy(ViennaCLVector x, ViennaCLVector y)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostiDamax(ViennaCLBackend backend, ViennaCLInt n, ViennaCLInt *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLVector_impl * ViennaCLVector
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASscal(ViennaCLBackend backend, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLgemv(ViennaCLHostScalar alpha, ViennaCLMatrix A, ViennaCLVector x, ViennaCLHostScalar beta, ViennaCLVector y)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLiamax(ViennaCLInt *alpha, ViennaCLVector x)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLBackendDestroy(ViennaCLBackend *backend)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASswap(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASaxpy(ViennaCLBackend backend, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
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)
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)
vector_expression< const matrix_base< NumericT >, const int, op_matrix_diag > diag(const matrix_base< NumericT > &A, int k=0)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLrot(ViennaCLVector x, ViennaCLVector y, ViennaCLHostScalar c, ViennaCLHostScalar s)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLdot(ViennaCLHostScalar *alpha, ViennaCLVector x, ViennaCLVector y)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADaxpy(ViennaCLBackend backend, ViennaCLInt n, double alpha, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADswap(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDASdot(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
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)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLger(ViennaCLHostScalar alpha, ViennaCLVector x, ViennaCLVector y, ViennaCLMatrix A)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSasum(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLscal(ViennaCLHostScalar alpha, ViennaCLVector x)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLnrm2(ViennaCLHostScalar *alpha, ViennaCLVector x)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADasum(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSaxpy(ViennaCLBackend backend, ViennaCLInt n, float alpha, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostSnrm2(ViennaCLBackend backend, ViennaCLInt n, float *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAiSamax(ViennaCLBackend backend, ViennaCLInt n, ViennaCLInt *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLHostScalar_impl * ViennaCLHostScalar
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)
ViennaCLMatrix_impl * ViennaCLMatrix
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLtrsv(ViennaCLMatrix A, ViennaCLVector x, ViennaCLUplo uplo)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostiSamax(ViennaCLBackend backend, ViennaCLInt n, ViennaCLInt *alpha, float *x, ViennaCLInt offx, ViennaCLInt incx)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAScopy(ViennaCLBackend backend, ViennaCLInt n, float *x, ViennaCLInt offx, ViennaCLInt incx, float *y, ViennaCLInt offy, ViennaCLInt incy)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLHostDasum(ViennaCLBackend backend, ViennaCLInt n, double *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
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)
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)
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLswap(ViennaCLVector x, ViennaCLVector y)
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)
ViennaCLBackend_impl * ViennaCLBackend
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDAiDamax(ViennaCLBackend backend, ViennaCLInt n, ViennaCLInt *alpha, double *x, ViennaCLInt offx, ViennaCLInt incx)
ViennaCLScalar_impl * ViennaCLScalar
VIENNACL_EXPORTED_FUNCTION ViennaCLStatus ViennaCLCUDADcopy(ViennaCLBackend backend, ViennaCLInt n, double *x, ViennaCLInt offx, ViennaCLInt incx, double *y, ViennaCLInt offy, ViennaCLInt incy)