ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
libviennacl_blas3.cpp File Reference
#include <iostream>
#include <vector>
#include "viennacl.hpp"
#include "viennacl/tools/random.hpp"
#include "viennacl/vector.hpp"

Go to the source code of this file.

Functions

template<typename ScalarType >
ScalarType diff (ScalarType const &s1, ScalarType const &s2)
 
template<typename ScalarType , typename ViennaCLVectorType >
ScalarType diff (std::vector< ScalarType > const &v1, ViennaCLVectorType const &vcl_vec)
 
template<typename T , typename U , typename EpsilonT >
void check (T const &t, U const &u, EpsilonT eps)
 
template<typename T >
get_value (std::vector< T > &array, ViennaCLInt i, ViennaCLInt j, ViennaCLInt start1, ViennaCLInt start2, ViennaCLInt stride1, ViennaCLInt stride2, ViennaCLInt rows, ViennaCLInt cols, ViennaCLOrder order, ViennaCLTranspose trans)
 
void test_blas (ViennaCLBackend my_backend, float eps_float, double eps_double, std::vector< float > &C_float, std::vector< double > &C_double, std::vector< float > &A_float, std::vector< double > &A_double, std::vector< float > &B_float, std::vector< double > &B_double, ViennaCLOrder order_C, ViennaCLOrder order_A, ViennaCLOrder order_B, ViennaCLTranspose trans_A, ViennaCLTranspose trans_B, viennacl::vector< float > &host_C_float, viennacl::vector< double > &host_C_double, viennacl::vector< float > &host_A_float, viennacl::vector< double > &host_A_double, viennacl::vector< float > &host_B_float, viennacl::vector< double > &host_B_double)
 
void test_blas (ViennaCLBackend my_backend, float eps_float, double eps_double, std::vector< float > &C_float, std::vector< double > &C_double, std::vector< float > &A_float, std::vector< double > &A_double, std::vector< float > &B_float, std::vector< double > &B_double, ViennaCLOrder order_C, ViennaCLOrder order_A, ViennaCLOrder order_B, viennacl::vector< float > &host_C_float, viennacl::vector< double > &host_C_double, viennacl::vector< float > &host_A_float, viennacl::vector< double > &host_A_double, viennacl::vector< float > &host_B_float, viennacl::vector< double > &host_B_double)
 
void test_blas (ViennaCLBackend my_backend, float eps_float, double eps_double, std::vector< float > &C_float, std::vector< double > &C_double, std::vector< float > &A_float, std::vector< double > &A_double, std::vector< float > &B_float, std::vector< double > &B_double, viennacl::vector< float > &host_C_float, viennacl::vector< double > &host_C_double, viennacl::vector< float > &host_A_float, viennacl::vector< double > &host_A_double, viennacl::vector< float > &host_B_float, viennacl::vector< double > &host_B_double)
 
int main ()
 

Detailed Description

Testing the BLAS level 3 routines in the ViennaCL BLAS-like shared library

Test:
Testing the BLAS level 3 routines in the ViennaCL BLAS-like shared library

Definition in file libviennacl_blas3.cpp.

Function Documentation

template<typename T , typename U , typename EpsilonT >
void check ( T const &  t,
U const &  u,
EpsilonT  eps 
)

Definition at line 66 of file libviennacl_blas3.cpp.

template<typename ScalarType >
ScalarType diff ( ScalarType const &  s1,
ScalarType const &  s2 
)

Definition at line 36 of file libviennacl_blas3.cpp.

template<typename ScalarType , typename ViennaCLVectorType >
ScalarType diff ( std::vector< ScalarType > const &  v1,
ViennaCLVectorType const &  vcl_vec 
)

Definition at line 44 of file libviennacl_blas3.cpp.

template<typename T >
T get_value ( std::vector< T > &  array,
ViennaCLInt  i,
ViennaCLInt  j,
ViennaCLInt  start1,
ViennaCLInt  start2,
ViennaCLInt  stride1,
ViennaCLInt  stride2,
ViennaCLInt  rows,
ViennaCLInt  cols,
ViennaCLOrder  order,
ViennaCLTranspose  trans 
)

Definition at line 80 of file libviennacl_blas3.cpp.

int main ( )

Definition at line 536 of file libviennacl_blas3.cpp.

void test_blas ( ViennaCLBackend  my_backend,
float  eps_float,
double  eps_double,
std::vector< float > &  C_float,
std::vector< double > &  C_double,
std::vector< float > &  A_float,
std::vector< double > &  A_double,
std::vector< float > &  B_float,
std::vector< double > &  B_double,
ViennaCLOrder  order_C,
ViennaCLOrder  order_A,
ViennaCLOrder  order_B,
ViennaCLTranspose  trans_A,
ViennaCLTranspose  trans_B,
viennacl::vector< float > &  host_C_float,
viennacl::vector< double > &  host_C_double,
viennacl::vector< float > &  host_A_float,
viennacl::vector< double > &  host_A_double,
viennacl::vector< float > &  host_B_float,
viennacl::vector< double > &  host_B_double 
)

Definition at line 121 of file libviennacl_blas3.cpp.

void test_blas ( ViennaCLBackend  my_backend,
float  eps_float,
double  eps_double,
std::vector< float > &  C_float,
std::vector< double > &  C_double,
std::vector< float > &  A_float,
std::vector< double > &  A_double,
std::vector< float > &  B_float,
std::vector< double > &  B_double,
ViennaCLOrder  order_C,
ViennaCLOrder  order_A,
ViennaCLOrder  order_B,
viennacl::vector< float > &  host_C_float,
viennacl::vector< double > &  host_C_double,
viennacl::vector< float > &  host_A_float,
viennacl::vector< double > &  host_A_double,
viennacl::vector< float > &  host_B_float,
viennacl::vector< double > &  host_B_double 
)

Definition at line 294 of file libviennacl_blas3.cpp.

void test_blas ( ViennaCLBackend  my_backend,
float  eps_float,
double  eps_double,
std::vector< float > &  C_float,
std::vector< double > &  C_double,
std::vector< float > &  A_float,
std::vector< double > &  A_double,
std::vector< float > &  B_float,
std::vector< double > &  B_double,
viennacl::vector< float > &  host_C_float,
viennacl::vector< double > &  host_C_double,
viennacl::vector< float > &  host_A_float,
viennacl::vector< double > &  host_A_double,
viennacl::vector< float > &  host_B_float,
viennacl::vector< double > &  host_B_double 
)

Definition at line 398 of file libviennacl_blas3.cpp.