cuLite v0.3.1
A lite CUDA C++ Interface
Loading...
Searching...
No Matches
ex06k_sparse_matrix_algebra_scale.cpp
#include <iostream>
#include <cla3p/sparse.hpp>
#include <culite/sparse.hpp>
#include <culite/algebra.hpp>
int main()
{
cla3p::coo::RdMatrix hostAcoo(5, 5);
hostAcoo.insert(0,0,1.0);
hostAcoo.insert(1,1,2.0);
hostAcoo.insert(2,1,3.0);
hostAcoo.insert(1,3,4.0);
hostAcoo.insert(0,0,5.0);
cla3p::csr::RdMatrix hostA = hostAcoo.toCsr();
hostA >> A; // Transfer to GPU
std::cout << "A:\n" << A << "\n";
/*
* Scale A using operators and the scale function respectively
*/
A *= 2.;
std::cout << "A *= 2:\n" << A << "\n";
A.iscale(.5);
std::cout << "A.iscale(.5):\n" << A << "\n";
culite::csr::RdMatrix B = 2. * A ;
std::cout << "B:\n" << B << "\n";
return 0;
}
csr::XxMatrix< T_Int, T_Scalar > toCsr(dup_t duplicatePolicy=dup_t::Sum) const
void insert(const Tuple< T_Int, T_Scalar > &tuple)
void iscale(T_Scalar val)
Scale the device sparse matrix in-place.
XxMatrix< int_t, real_t > RdMatrix
XxMatrix< int_t, real_t > RdMatrix
XxMatrix< int_t, real_t > RdMatrix
Double precision real matrix.
Definition sparse.hpp:32