犰狳元素明智的乘法速度

Armadillo element wise multiplication speed

本文关键字:速度 元素      更新时间:2023-10-16

armadillo的元素智能乘法(%)速度是否取决于是否安装了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;
  }

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

等c++模板库。

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