【发布时间】:2014-02-27 17:08:38
【问题描述】:
我正在编写一个数值模拟代码,用于通过矩阵求逆技术求解 N 方程系统。我正在使用在 Eigen 3 中实现的 BiCGStab 求解器。它工作正常,但没有我预期的那么快,所以现在我试图通过 OpenMP 激活多线程,只需使用标志“-fopenmp”在 GCC 上编译。然后,我通过“export OMP_NUM_THREADS=4; ./app_name”设置 shell 中的线程数。问题是系统监视器中只有一个内核在运行,并且计算时间相同,所以我想我错过了一些东西。
有什么想法吗?
我正在运行 Linux Debian 6 64 位、GCC 4.4。
谢谢!!
【问题讨论】:
-
上次我检查了 Eigen 仅将 OpenMP 用于某些计算,例如大型密集矩阵乘法。
标签: multithreading parallel-processing openmp eigen