Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- Question about MKL_DCSRSM routine

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

schulzey

Novice

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

12-31-2013
10:22 PM

66 Views

Question about MKL_DCSRSM routine

I have successfully used Pardiso and the MKL DSS (direct sparse solver) routines for this, but I am looking for a third alternative, and from the documentation it looks like the mkl_dcsrsm routine should be able to do it, however it just returns garbage.

I suspect that either mkl_dcsrsm isn't meant for what I'm doing or I am setting the matdescra array incorrectly (I have tried 'SUNF ' and 'TUNF ' with 1-based indexing). The documentation on mkl_dcsrsm says that "A is a sparse upper or lower triangular matrix...". In my case A is a sparse symmetric matrix and hence I am just passing it the upper triangle (like I do with Pardiso and MKL DSS).

Can anyone shed some light on it?

Link Copied

5 Replies

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-02-2014
07:40 AM

66 Views

The MKL_?csrsm routines are intended to be used when the linear equations to be solved are **triangular**. Perhaps, you confused a triangular matrix with the lower (or upper) **triangular part** of a symmetric matrix?

The difference is that, in a lower triangular matrix, the upper triangle contains nothing but zeroes above the main diagonal, whereas in a symmetric matrix the upper triangle holds a mirror image of the lower triangle.

It is up to the software designer to decide whether the conceptually present zeroes (or the mirror image values) are actually needed to be stored or used in the argument arrays passed to the solver.

schulzey

Novice

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-02-2014
02:48 PM

66 Views

Do you know if the MKL DSS routines call the Pardiso routines under the covers or are they internally different solvers? There are quite a few references to Pardiso in the DSS documentation.

Ying_H_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-02-2014
07:44 PM

66 Views

MKL doc just mentioned, DSS is an alternative to Intel MKL PARDISO interface. But right, you can take it as MKL DSS routines call Pardiso routines under the covers. The core implementation of DSS is based on pardiso functionality.

Best Regards,

Ying

mecej4

Black Belt

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-03-2014
11:01 AM

66 Views

schulzey

Novice

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

01-03-2014
08:52 PM

66 Views

Thanks, makes sense.

For more complete information about compiler optimizations, see our Optimization Notice.