如何让使用MKL的犰狳使用多个线程进行矢量乘法?

时间:2017-11-06 09:56:51

标签: c++ multithreading armadillo intel-mkl

我正在使用犰狳生成的向量和矩阵相乘。 Armadillo编译并与英特尔MKL相关联。现在我想让我的程序使用多于一个线程来进行乘法运算。 我试过设置

omp_set_max_threads(4)

mkl_set_max_threads(4)

但两者仍将程序保留在一个线程中,而不是四个。有没有其他方法来增加线程数量? 我用于乘法的代码是

void multiply(const arma::cx_colvec &in, arma::cx_colvec &out)
{
    //F, G= arma::cx_colvec, rb, br = arma::colvec
    if(out.size() != in.size())
        out = arma::cx_colvec(in.size());
    F = in % (rb);
    G = c * F;
    out = G % (br);
}

0 个答案:

没有答案