1

我已经实现了一个调用 DGEMM 的工作程序(FORTRAN,编译器:Intel ifort 11.x)。我读过有一种快速的方法可以通过编译来并行化:

ifort -mkl=parallel -O3 myprog.f -o myprog

我有一个四核处理器,所以我使用(通过 bash)运行程序:

export OMP_NUM_THREADS=4
./myprog

我的假设是 DGEMM 会自动调用 4 个线程,从而实现更快的矩阵乘法。这似乎没有发生。我错过了什么吗?任何帮助,将不胜感激。

4

1 回答 1

0

我认为 -mkl=parallel 是英特尔编译器的默认选择。因此,您不必特别设置此标志。改用 -mkl=sequential 看看计算是否变慢。

于 2012-11-10T12:57:06.403 回答