Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Christos_S_
Beginner
40 Views

MKL Poisson Solver Profiling Question

Hello all,

I am using MKL to solve a 2D Cartesian Poisson Problem with fixed Neumann boundary conditions.

I have two questions:

(i) based on experiments, I have noticed that the runtime/complexity depends both on (1) the number of intervals and (2) the magnitude of the domain (ax, bx, ay, by). Is this always the case? I expected (1) to be the main parameter which affects performance. I guess this is because internally the algorithm uses an internal grid. If this is the case is there way to make it more granular to increase performance?

(ii) when profiling my code, most of the execution time is spent on one MKL function dgemm():

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls   s/call   s/call  name
 72.06    564.09   564.09                             dgemm_

despite that the number of intervals is small, specifically 196 x 196. Why would that be? Is there a way to speed up my code?

Thanks very much in advance.

0 Kudos
2 Replies
Gennady_F_Intel
Moderator
40 Views

Hi, 

Yes, both of these parameters affect the performance. There is only one way to speed up the code in this case, to link with threaded MKL  version (mkl_intel_thread.lib).

 

40 Views

HI All,

From my best Helmholtz solver doesn't depend on dgemm. Which function you call to solve Poisson equation?

Thanks,

Alex

Reply