我正在使用犰狳生成的向量和矩阵相乘。 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);
}