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

Solving for A x = b, for x (using MKL for fluid simulation applications)

benexocortex_com
Beginner
760 Views
Hi all,
I'm currently evaluating MKL.
So I've got a tetrahedral fluid simulator. (For those interested it is described this Eurographics 2010 paper:http://www.cs.ubc.ca/~batty/papers/Batty10/)
I would like to employ MKL to solve the key Poisson linear system. Basically it is the classic A x = b and I want to solver for x. My matrix is positive definition and symmetric. As it is an adaptive tetrahedral solver, it is not a band matrix. My matrix can grow to larger than 10M x 10M.
Currently I am using a custom iterative solver, specifically a conjugate gradient method solver along with an incomplete Choleski preconditioner.
If I wanted to get the most speed out of MKL, what method should I employ of MKL's in order to solve this linear system? I ask because I couldn't find a mention of "incomplete Choleski" in the Intel MKL documentation and thus I wonder whether MKL has an alternative approach that could be as effect.
BTW is Intel every thought of implementing an algebraic multi-grid solver? I understand that multi-grid lends itself to parallelization much better than conjugate gradient methods and that algebraic multi-grid methods are more flexible and easier to use than the more traditional multi-grid approaches.
Best regards,
Ben Houston
0 Kudos
3 Replies
Alexander_K_Intel2
760 Views
Hi,
Firstly you can useiterativesolver from IntelMKL with own preconditioner or some variants of incomplete LU preconditioner that realized inIntelMKL (more detailed could be find in IntelMKLReferenceManual, chapter 8). If you would like to solve your sparse matrix by any kind of direct solver you could use PARDISO functionality - solver based on full Cholesky decomposition - this functionality describe in chapter 8 ofIntelMKLReferenceManual too.
With best regards,
Alexander Kalinkin
0 Kudos
benexocortex_com
Beginner
760 Views
Thanks Alexander. For positive definite symmetric matrices such as Poisson equations (Laplacian) matrices in the 10M x 10M size range, would you know whether one would expect direct or preconditioned iterative solvers to be faster?

http://en.wikipedia.org/wiki/Discrete_Poisson_equation

Best regards,
Ben Houston
0 Kudos
Alexander_K_Intel2
760 Views
Hi Ben,
It is the main question of lastcentury- what kind of solver is better for different matrix -iterativesolver or direct. Nobody could answer on it before try both of them. But I need to say that IntelMKL have direct solver for solving 2D/3D Poisson equation forparallelepiped domains with different type of boundary condition. Could it help you to solve your problem? For more detailed please read Chapter 13 of IntelMKL Reference Manual.
With best regards,
Alexander Kalinkin
0 Kudos
Reply