Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Big performance differences of matrix inversion under windows and linux

C_J_X_
Beginner
364 Views

            I have one question about the performance of mkl functions under different platform, windows and linux.

            I wrote a small program using mkl to do matrix inversion. The implementation code is as shown below. First I run it under windows, it works well. Due to some reason, I also need to make it work under linux. I main copy and past the code and make it run under linux. But when I try to compare the results, I find one problem: I tried one matrix of the size 8000 by 8000 and invert it. Under windows, it takes about 110 seconds, but under linux, it takes about 270 seconds, more than 2 times of that in windows!!! Both of the results are correct.

            I don’t know why it is much slower under linux?  For both the machines, they have enough memory so I don’t think memory is the reason.

            For another function full matrix multiplication, it has the similar problem but the difference is not so large. Can anyone help me? Thanks.

C.J.

 

0 Kudos
2 Replies
Murat_G_Intel
Employee
364 Views

Hi C.J.,

MKL aims to provides consistent performance on supported operating systems. Are you using identical machines for Linux and Windows? Can you provide more details on the core count and architecture of the machines? Are they single- or multi-socket systems?

Thank you,

Efe

0 Kudos
C_J_X_
Beginner
364 Views

Murat Efe Guney (Intel) wrote:

Hi C.J.,

MKL aims to provides consistent performance on supported operating systems. Are you using identical machines for Linux and Windows? Can you provide more details on the core count and architecture of the machines? Are they single- or multi-socket systems?

Thank you,

Efe

Hi Efe,

     Thanks for your reply. I posted  this question on last Saturday but I don't know why it shows now. During the weekend, I figured it out why it happens. You are correct it is due to the fact I tested using different machine. The windows machine is more powerful so the  code runs faster. 

     I am using the Linux machine which has 4 processors, each is Dual Core AMD(tm) Processor 285, 16G memory 64 bit OS. My code is linked as sequential. In this case, what else can I do with mkl so that to get a better performance if possible? Thanks.

C.J.

0 Kudos
Reply