I have written a program using Boost::ublas that uses extensive sparse matrix vector multiplication. I am not satisfied at all with its speed and I want to try ATLAS. Is there a clear procedure to transform the code? I am attaching below a very simple code for sake of discussion.
#include <boost/numeric/ublas/matrix_sparse.hpp>
#include <boost/numeric/ublas/operation.hpp>
namespace ublas = boost::numeric::ublas;
int main()
{
ublas::compressed_matrix<double> m1(700,700,0);
ublas::compressed_matrix<double> m2(700,700,0);
ublas::compressed_matrix<double> r(700,700,0);
ublas::axpy_prod(m1,m2,r,true);
return 0;
}