Does MKL and PARDISO work properly with more than 64 cores?

Does MKL and PARDISO work properly with more than 64 cores?

Nan Deng的头像

This is a continuation of my old question "Does PARDISO have core access limit" with new information. I'll put a quick summary and the new question:

I run a code on Windows based HP DL980 server with 80 cores and 1TB RAM. Originally the OS is Windows Server 2008 SP2 (Which, I was informed, is based on Windows Vista). It seemed work properly.  The IS&T upgraded the OS to Windows Server 2008 R2 SP1 (Based on Windows 7). However, the code now can only access to a small portion of the cores (25%), the rest of the cores are set idle.

I posted my problem here and got help on how to manually set up the MKL access to the cores. After many rounds of trial and error on the machine, we finally were able to run on up to 50% of cores, even for multiple users. But there are still half of the cores set idle.

In one of HP's online documents it is stated: "The processor group concept was introduced in Windows 7 and Windows Server 2008 R2 to support more than 64 logical processors. Any machine with more than 64 logical processors has more than one processor group by necessity. Drivers and applications are all expected to run properly in the multi-group context if coded properly. " 

My question is: Are MKL routines, in particular PARDISO, aware of this "multi-group context" and can work properly with multiple processor groups, each with up to 64 cores? If yes, since which version? (I may need an upgrade then).

 

8 帖子 / 0 new
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项
Tim Prince的头像

If you were able to control 80 cores in a single group, I suspect that may have been an HP-maintained modification of standard Windows Server.  Under a Windows which requires 2 groups to manage all the cores, I suspect you would need to run multiple processes, e.g. under MPI.  I would be interested if an Intel library team expert (MKL or MPI) could confirm this.

The lack of availability of a standard Windows for a group of more than 64 cores has been a disappointment.

Noah Clemons (Intel)的头像

Hi, I will research this capability with MKL Engineering and will get back to you ASAP.

Noah Clemons (Intel)的头像

MKL Engineering has done several experiments on windows server machines, but they have never tried that large amount of cores before. The consensus opinion is that the MKL Pardiso routine is not aware of this "multi-group context" while working in the Windows Server environment and has been verified to work only when all of the processors are considered via the hardware and/or OS to be on the same board. I believe beyond that context the problem would fall within the realm of Cluster Pardiso.

Nan Deng的头像

Thank you very much for the info.  Can you offer any suggestions on available short-cut or go-around to circumvent the problem? Does Intel Visual Fortran's libraries include Cluster Pardiso?  Do we need a separate upgrade for the intel produce? Or is it commerically available somewhere?  If we can get it from other sources, will this solver be compatible with Visual Fortran and can work under Windows Server? (I believe Win Server 2012 can support 256 cores now, so looks like this is the trend)  Any suggestion in this regard is highly appreciated.

 

Noah Clemons (Intel)的头像

Cluster Pardiso is in a private beta right now. I will put you in contact with my colleague that runs that program for more information.

Nan Deng的头像

That would be great. Thanks.

BTW, I checked with the original PARDISO site, there is a statement that says that the Intel's MKL PARDISO is based on the 2006 version, and not compatible with their latest development. But this statement appears also very old (2 years?). Has MKL PARDISO inplemented all the new refinement for the code since then?

Gennady Fedorov (Intel)的头像

Deng, I will contact with you via private communication regard to Cluster Pardiso.

登陆并发表评论。