uBlas非常慢

时间:2011-12-06 20:41:50

标签: c++ boost ublas boost-ublas

  

可能重复:
  BOOST uBLAS matrix product extremely slow

我正在尝试使用uBlas库(在boost中)。

我为多个两个大型矩阵写了一个简单的代码。结果太慢了,当我将性能与Matlab和Octave进行比较时,速度非常慢。你能不能帮我解决问题

#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
#include <boost/numeric/ublas/operation.hpp>
int main () {
   using namespace boost::numeric::ublas;
   const int D = 1000;
   matrix<double> a (D, D);
   matrix<double> b (D, D);
   matrix<double> c (D, D);
   for (unsigned i = 0; i < a.size1 (); ++ i)
      for (unsigned j = 0; j < a.size2 (); ++ j){
         a (i, j) = ((i-j)<150)?1:0;   
         b (i, j) = 3 * i + j;
      }
    std::cout <<"Hi\n";
    axpy_prod(a, b,c, false);  // C = A * B
    //noalias(c) = prod(a,b);
    return 0;
}

0 个答案:

没有答案