0
我已经实现了一个可以调用DGEMM的工作程序(FORTRAN,编译器:Intel ifort 11.x)。我读过,有一个快速的方法与编译并行这样的:螺纹DGEMM上的错误
ifort -mkl=parallel -O3 myprog.f -o myprog
我有一个四核处理器,所以我运行的程序(通过bash)的:
export OMP_NUM_THREADS=4
./myprog
我假设是DGEMM会自动召唤4个线程,导致更快的矩阵乘法。这似乎并没有发生。我错过了什么吗?任何帮助,将不胜感激。
你是用这个命令编译所有的源代码吗?尝试 - 并行。 –
用'DGEMM'乘上的矩阵有多大? MKL线程也由'MKL_NUM_THREADS'变量控制。检查它是否设置为“1”。顺便说一句,'DGEMM'是MKL中内置并行机制的典型示例 - 请参见[here](http://software.intel.com/zh-cn/articles/parallelism-in-the-intel-math -kernel库)。 –
我认为矩阵太小了。感谢您的帮助,伙计们。 – Salmonstrikes