- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Dear Forum,
I have an Windows 7 application that uses Intel MKL libraries. I run it on the following two systems:
1). Sandy Bridge (E5-2660 0), and
2). Ivy Bridge (E5-2660 v2)
I noticed, using Process Explorer, that on Sandy Bridge, mkl_avx.dll is loaded, while on Ivy Bridge, mkl_mc3.dll is loaded. Moreover, the performance on Ivy Bridge (w/ mkl_mc3.dll) is 15-30% worse than that on Sandy Bridge (w/ mkl_avx.dll).
From the following two article, seems to me that both systems support AVX, and Ivy Bridge is the more advanced of these two.
I am puzzled by the fact that Ivy Bridge system choose to use the more generic mkl_mc3.dll.
Your insight is very much appropriated!
WQ
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Thank you very much Tim for the comment!
We have just figured out the problem. The machine that has Ivy Bridge processor does not satisfies the Intel AVX Operating System requirement. Citing Wikipedia below (http://en.wikipedia.org/wiki/Advanced_Vector_Extensions):
AVX adds new register-state through the 256-bit wide YMM register file, so explicit operating system support is required to properly save and restore AVX's expanded registers between [[context switch]]es; without this, only AVX 128-bit is supported. The following operating system versions support AVX 256-bit:
- Apple OS X: Support for AVX added in 10.6.8 (Snow Leopard) update released on June 23, 2011.
- Linux: supported since kernel version 2.6.30 released on June 9, 2009.
- Windows: supported in Windows 7 SP1 and Windows Server 2008 R2 Windows 8.
- Windows Server 2008 R2 SP1 with Hyper-V requires a hotfix to support AMD AVX (Opteron 6200 and 4200 series) processors.
- FreeBSD in a patch submitted on 21 January 2012.
- DragonFly BSD added support in early 2013.
- Solaris 10 Update 10 and Solaris 11.
Thanks to the whole Forum.
WQ
コピーされたリンク
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Mkl should choose the same code for ivy bridge as Sandy bridge, if your mkl was released after ivy bridge servers. Due to increased number of cores, affinity setting may have increased importance.
- 新着としてマーク
- ブックマーク
- 購読
- ミュート
- RSS フィードを購読する
- ハイライト
- 印刷
- 不適切なコンテンツを報告
Thank you very much Tim for the comment!
We have just figured out the problem. The machine that has Ivy Bridge processor does not satisfies the Intel AVX Operating System requirement. Citing Wikipedia below (http://en.wikipedia.org/wiki/Advanced_Vector_Extensions):
AVX adds new register-state through the 256-bit wide YMM register file, so explicit operating system support is required to properly save and restore AVX's expanded registers between [[context switch]]es; without this, only AVX 128-bit is supported. The following operating system versions support AVX 256-bit:
- Apple OS X: Support for AVX added in 10.6.8 (Snow Leopard) update released on June 23, 2011.
- Linux: supported since kernel version 2.6.30 released on June 9, 2009.
- Windows: supported in Windows 7 SP1 and Windows Server 2008 R2 Windows 8.
- Windows Server 2008 R2 SP1 with Hyper-V requires a hotfix to support AMD AVX (Opteron 6200 and 4200 series) processors.
- FreeBSD in a patch submitted on 21 January 2012.
- DragonFly BSD added support in early 2013.
- Solaris 10 Update 10 and Solaris 11.
Thanks to the whole Forum.
WQ
