- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
HI All,
From my best Helmholtz solver doesn't depend on dgemm. Which function you call to solve Poisson equation?
Thanks,
Alex
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page