0

犰狳中的元素明智乘法(%)速度取决于是否安装了LAPACK / BLAS?我目前在没有安装它们的情况下运行犰狳,而且速度很糟糕。好的,这是最简单的代码,它需要永恒来计算

    #include <iostream>
    #include "conio.h"


    #include "armadillo"

    using namespace arma;
    using namespace std;

    int main(int argc, char** argv)
    {


    int n=250; 
    mat X=ones(n,n);

    mat quan;



  for (int xi=1;xi<=256;xi++)
  {  
          quan = exp(X)%exp(X);
  }



  getch();


  return 0;
  }
4

2 回答 2

1

确保在编译器设置中启用了优化标志(例如,在 GCC 或 Clang 中,使用 -O2 或 -O3)。Armadillo 使用模板元编程,并且与任何 C++ 模板库一样,这绝对需要在编译器中启用优化才能有效。例如,这也适用于 Boost 等 C++ 模板库。

于 2013-05-25T03:09:06.010 回答
0

为什么要计算exp(X)两次?您没有对元素乘法进行基准测试;您显然是在进行基准测试exp()。另外,你为什么不使用expmat()or expmat_sym()

于 2017-06-30T02:36:52.040 回答