cuLite v0.3.1
A lite CUDA C++ Interface
Loading...
Searching...
No Matches
ex02m_dense_matrix_algebra_vmult.cpp
#include <iostream>
#include <cla3p/dense.hpp>
#include <culite/dense.hpp>
#include <culite/algebra.hpp>
int main()
{
cla3p::dns::RdMatrix hostA(3, 3);
hostA = 3.;
hostX = 2.;
hostA >> A; // Transfer to GPU
hostX >> x; // Transfer to GPU
std::cout << "A:\n" << A;
std::cout << "x:\n" << x << "\n";
/*
* Perform the operation (A * x) using operators and the mult function respectively
*/
std::cout << "y1:\n" << y1;
culite::ops::mult(1., cla3p::op_t::N, A, x, 0., y2);
std::cout << "y2:\n" << y2 << "\n";
/*
* Perform the operation (y1 += A * x) using operators and the mult function respectively
*/
y1 += A * x;
std::cout << "y1:\n" << y1;
culite::ops::mult(1., cla3p::op_t::N, A, x, 1., y2);
std::cout << "y2:\n" << y2;
return 0;
}
XxMatrix< real_t > RdMatrix
XxVector< real_t > RdVector
void mult(T_Scalar alpha, op_t opA, const dns::XxMatrix< T_Scalar > &A, op_t opB, const dns::XxMatrix< T_Scalar > &B, T_Scalar beta, dns::XxMatrix< T_Scalar > &C, CuBlasHandler &cuBlasHandler=globalCuBlasHandler())
Updates a general matrix with a matrix-matrix product.
XxMatrix< real_t > RdMatrix
Double precision real matrix.
Definition dense.hpp:55
XxVector< real_t > RdVector
Double precision real device vector.
Definition dense.hpp:31