CPU usage during executing Intel MKL Functions

CPU usage during executing Intel MKL Functions


I am using MKL functions for various operations and calculating the time taken by each function.

For matrix multiplication using dgemm() function, I have calculated time for different orders of matrix as mentioned below:

1000x1000: 0 sec

2000x2000: 4 sec

3000x3000: 11 sec

4000x4000: 26 sec

5000x5000: 52 sec

6000x6000: 91 sec

Till 6000x6000 order matrix, during operation I have noticed that the CPU usage of the system is almost 50 to 55%.

But from 7000x7000 order matrices, the CPU usage is coming down to max of 20% only, and almost its going down to 10% also.

Because of that, more time is taken by the operation for higher order matrices.

Why its happening like this? Also I have set the priority of the processor and thread to the maximum available priority.

For the matrices of order less than 6000x6000, why the CPU usage is only 50%? How we can make the CPU usage maximum (100%) for the MKL operations?

Why from 7000x7000 order, CPU usage is coming down to 10%?

The time taken for executing from 7000x7000 matrices are also mentioned below. We can see that the time is rapidly got increased from here onwards.

7000x7000: 1401 sec

8000x8000: 3129 sec

9000x9000: 5543 sec

And for 10000x10000 order matrix I am getting application error and the application is getting stopped. I am not able to rum for 10000x10000 order matrix. Is it because of the memory problem.

Note: I am using a system of the below configuration:

Intel P4, 3GHz, 1GB RAM


Please help me in this regard.



1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.