I have a benchmark application that mainly does two types of things:
* FFTs
* Eigenvector decompositions
In both cases, the new MKL11 benchmarks much slower than MKL10 on a I7 IVY Bridge, Sandy Bridge and other CPUS.
For the Eigenvector code, it is about 1/2 the performance in version 11. For the FFTs the performance is degraded by about 30%.
Is there a reason why MKL 11 performs worse? Is there something I need to do to at least get equivalent performance to MKL 10?
Thanks for your assistance in advance.
链接已复制
I have attached a complete VS2008 project which demonstrates the problem. Press the "EigenValues" button and "Run Benchmark" buttons to see the performance. As a correction the FFT times are improved in version 11 BUT the eigenvalue calculation times are substantially worse under version 11. Here is a summary of measured benchmarks:
EIGENBenchmark:
I7-920 32Bit MKL10: 1.3 Seconds; I7-920 32Bit MKL11: 2.53 Seconds; I7-920 64Bit MKL10: 1.09 Seconds; I7-920 64Bit MKL11: 1.65 Seconds
I7-3770 32Bit MKL10: .757 Seconds; I7-3770 32Bit MKL11: 1.4 Seconds; I7-3770 64Bit MKL10: .63 Seconds, I7-3770 64Bit MKL1: .98 Seconds
In order to compile, you copy the noted (in .txt file) .lib files into the folders for libraries by the way.