#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 > | |
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 () |
Testing the BLAS level 3 routines in the ViennaCL BLAS-like shared library
Definition in file libviennacl_blas3.cpp.
void check | ( | T const & | t, |
U const & | u, | ||
EpsilonT | eps | ||
) |
Definition at line 66 of file libviennacl_blas3.cpp.
ScalarType diff | ( | ScalarType const & | s1, |
ScalarType const & | s2 | ||
) |
Definition at line 36 of file libviennacl_blas3.cpp.
ScalarType diff | ( | std::vector< ScalarType > const & | v1, |
ViennaCLVectorType const & | vcl_vec | ||
) |
Definition at line 44 of file libviennacl_blas3.cpp.
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.