- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - Linux
- >
- Re: Why intel MKL library so inefficient on “HP Pr...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-21-2013 07:44 PM - last edited on 12-22-2013 06:06 PM by Maiko-I
12-21-2013 07:44 PM - last edited on 12-22-2013 06:06 PM by Maiko-I
Why intel MKL library so inefficient on “HP ProLiant BL460c G7”
My system info is as follows:
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.32-220.el6.x86_64 (mockbuild@x86-004.build.bos.redhat.com) (gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Wed Nov 9 08:03:13 EST 2011
Command line: ro root=/dev/mapper/vg_hplclppj-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=vg_hplclppj/lv_root SYSFONT=latarcyrheb-sun16 rhgb crashkernel=128M quiet KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rd_LVM_LV=vg_hplclppj/lv_swap
KERNEL supported cpus:
Intel GenuineIntel
AMD AuthenticAMD
Centaur CentaurHauls
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
BIOS-e820: 000000000009f000 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000f362f000 (usable)
BIOS-e820: 00000000f362f000 - 00000000f363c000 (ACPI data)
BIOS-e820: 00000000f363c000 - 00000000f363d000 (usable)
BIOS-e820: 00000000f363d000 - 00000000f8000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fee10000 (reserved)
BIOS-e820: 00000000ff800000 - 0000000100000000 (reserved)
BIOS-e820: 0000000100000000 - 000000180bfff000 (usable)
DMI 2.7 present.
SMBIOS version 2.7 @ 0xF4F40
DMI: HP ProLiant BL460c G7, BIOS I27 05/05/2011
The server contains 2 "Intel(R) Xeon(R) CPU X5675 @ 3.07GHz" with 24 threads in total, and with 100g RAM.
I use intel MKL library to do mathmatical computing, but I found the performance is very poor that it is much slower than the performance of the same program using the same intel MKL library on a laptop with "Intel i7 3630qm" whose operating system is Fedora 18.
I want to ask if I want to get better performance on this sever, should I use the HP MLIB instead of the Intel MKL library? If yes, which version of mlib should I buy? If not, what is the solution to improve the performance?
P.S. This thread has been moved from HP-UX > System Administration to Linux > sysadmin. - Hp Forum Moderator
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-23-2013 11:08 AM
12-23-2013 11:08 AM
Re: Why intel MKL library so inefficient on “HP ProLiant BL460c G7”
Xeon X5675 is a CPU with 6 physical cores, so your BL460c G7 has 12 cores. The fact that you're talking about 24 threads indicates you probably have Hyper-Threading enabled.
Intel says MKL is not a good candidate for Hyper-Threading, and that you may want to disable HT to get better performance:
http://software.intel.com/en-us/node/438654
Since you have two physical sockets, if your processes migrate between the physical sockets, the system will need to move a lot of data back & forth between the sockets to keep the L2/L3 caches in sync with each other. With a single multi-core processor, as in your laptop, the single L3 cache is shared between all cores so this problem is much reduced.
Intel says you should set task affinity masks to minimize this issue:
http://software.intel.com/en-us/node/438656
Fedora 18 also is likely to have a much newer version of GCC than RHEL 6, so it will probably do a much better job of optimizing the compiled code for the newer CPUs. You might consider installing a newer version of GCC, or perhaps the Intel compiler. At the very least, it will eliminate one performance-affecting variable between RHEL 6 and Fedora 18; but I would guess that the improved optimization would probably also provide a meaningful performance gain.