我已经实现了一个调用DGEMM的工作程序(FORTRAN,编译器:Intel ifort 11.x)。我已经读过,有一种快速的方法可以通过编译来并行化:
ifort -mkl=parallel -O3 myprog.f -o myprog
我有一个四核处理器,所以我用(通过bash)运行程序:
export OMP_NUM_THREADS=4
./myprog
我的假设是DGEMM会自动召唤4个线程,从而加快矩阵乘法。这似乎没有发生。我错过了什么吗?任何帮助将不胜感激。
答案 0 :(得分:0)
我认为-mkl = parallel是intel编译器的默认选择。因此,您不必特别设置此标志。请尝试-mkl = sequential,然后查看计算是否正在减慢。