Oops sorry - wrong class in the last post. Too many things going on at once.
@Properties(inherit = Array(classOf[Context]),
value = Array(new Platform(
include = Array("matrix.hpp"),
library = "jniViennaCL")
))
@Namespace("viennacl")
@Name(Array("matrix_expression<const viennacl::compressed_matrix<double>, " +
"const viennacl::matrix_base<double>, " +
"viennacl::op_prod>"))
class SrMatDnMatProdExpression extends Pointer {
thanks again,
Andy
________________________________
From: Andrew Palumbo <[email protected]>
Sent: Wednesday, August 3, 2016 6:44:10 PM
To: Karl Rupp; [email protected]
Subject: Re: [ViennaCL-devel] compressed_matrix %*% matrix_Base
Hi Karl, as always thanks for the quick response.
I Just needed a point in the right direction, and have it compiling now.
(Tests up next).
Just FYI, I needed a new class for the product result:
@Properties(inherit = Array(classOf[Context]),
value = Array(new Platform(
include = Array("matrix.hpp"),
library = "jniViennaCL")
))
@Namespace("viennacl")
@Name(Array("vector_expression<const viennacl::matrix_base<double>, " +
"const viennacl::vector_base<double>, " +
"viennacl::op_prod>"))
class MatVecProdExpression extends Pointer {
}
Wanted to make sure that I wasn't grinding my wheels.
Thanks alot for your time.
One more question, there is no `trans(compressed_matrix cm)` function correct?
This should just be done by taking the teanspose first of the matrix before
converting it to CSR, etc? Curious, as we may be able to shave a small amount
of time if so.
Thanks!
Andy
________________________________
From: Karl Rupp <[email protected]>
Sent: Wednesday, August 3, 2016 5:28:58 PM
To: Andrew Palumbo; [email protected]
Subject: Re: [ViennaCL-devel] compressed_matrix %*% matrix_Base
Hi Andrew,
> I'm having some trouble with sparse `compressed_matrix` `matrix`(base)
> matrix multiplication. This is supported, correct?
Yes. Could you please let us know what you have tried already?
It shouldn't be any more code to write than
viennacl::compressed_matrix<T> A(...);
viennacl::matrix<T> B(...);
viennacl::matrix<T> C = viennacl::linalg::prod(A, B);
Make sure to
#include "viennacl/matrix.hpp"
#include "viennacl/compressed_matrix.hpp"
#include "viennacl/linalg/prod.hpp"
at the beginning; otherwise you get incomprehensible C++ compiler output.
Best regards,
Karli
>
>
> I've been trying to use the:
>
>
> template< typename SparseMatrixType, typename SCALARTYPE>
> typename viennacl::enable_if<
> viennacl::is_any_sparse_matrix<SparseMatrixType>::value
> <http://viennacl.sourceforge.net/doc/structviennacl_1_1enable__if.html>,
> viennacl::matrix_expression
> <http://viennacl.sourceforge.net/doc/classviennacl_1_1matrix__expression.html><const
> SparseMatrixType,
> const matrix_base <SCALARTYPE>
> <http://viennacl.sourceforge.net/doc/classviennacl_1_1matrix__base.html>,
> op_prod
> <http://viennacl.sourceforge.net/doc/structviennacl_1_1op__prod.html> >
> >::type
> <http://viennacl.sourceforge.net/doc/namespaceviennacl_1_1linalg.html#a3bba0146e669e012bb7c7380ce780a25>
> prod
> <http://viennacl.sourceforge.net/doc/namespaceviennacl_1_1linalg.html#aa18d10f8a90e38bd9ff43c650fc670ef>(const
> SparseMatrixType & sp_mat,
> const viennacl::matrix_base<SCALARTYPE>
> <http://viennacl.sourceforge.net/doc/classviennacl_1_1matrix__base.html>
> & d_mat)
> {
> return viennacl::matrix_expression
> <http://viennacl.sourceforge.net/doc/classviennacl_1_1matrix__expression.html><const
> SparseMatrixType,
> const viennacl::matrix_base<SCALARTYPE>
> <http://viennacl.sourceforge.net/doc/classviennacl_1_1matrix__base.html>,
> op_prod
> <http://viennacl.sourceforge.net/doc/structviennacl_1_1op__prod.html>
> >(sp_mat, d_mat);
>
>
> method from prod.hpp.
>
>
> I just wanted to make sure that this was the correct method, and that it
> accepted `compressed_matrix`s as `sp_mat`. Is that correct? I'm
> mapping this to java via javacpp so the templates can prove difficult,
> and are likely where I'm getting errors.
>
>
> Just wanted to confirm that this was supported as I am using it (and
> that there is not a more straightforward way with fewer template arguments.
>
>
> Thanks,
>
>
> Andy
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> ViennaCL-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/viennacl-devel
>
------------------------------------------------------------------------------
_______________________________________________
ViennaCL-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/viennacl-devel