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

Calling Pardiso from Java

eunsal
Beginner
289 Views
Hi,
I'm interested in sparse matrix solvers of MKL library. I use Java at the moment and call mkl. I went through the Java examples and they worked fine. However, there is no sparse matrixsolver examples.There are some examples for some basic sparse matrix operations, but that is not what I'm looking for. As I understood I need to call Pardiso somehow, but can't find any interface for it. Does anybody have any experience with this?

Thanks,

Evren
0 Kudos
4 Replies
ArturGuzik
Valued Contributor I
289 Views
Quoting - eunsal
Hi,
I'm interested in sparse matrix solvers of MKL library. I use Java at the moment and call mkl. I went through the Java examples and they worked fine. However, there is no sparse matrixsolver examples.There are some examples for some basic sparse matrix operations, but that is not what I'm looking for. As I understood I need to call Pardiso somehow, but can't find any interface for it. Does anybody have any experience with this?

Thanks,

Evren
Evren,

what do you mean? I assume you call Fortran from Java via C++ and then the header would be
[cpp]void pardiso(
_MKL_DSS_HANDLE_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _INTEGER_t *, _INTEGER_t *,
_DOUBLE_PRECISION_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _DOUBLE_PRECISION_t *, _DOUBLE_PRECISION_t *,
_INTEGER_t *);
[/cpp]

You can get all headers in mkl/include directory. If you meant something else, please elaborate.

A.
0 Kudos
eunsal
Beginner
289 Views
Quoting - ArturGuzik
Evren,

what do you mean? I assume you call Fortran from Java via C++ and then the header would be
[cpp]void pardiso(
_MKL_DSS_HANDLE_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _INTEGER_t *, _INTEGER_t *,
_DOUBLE_PRECISION_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _DOUBLE_PRECISION_t *, _DOUBLE_PRECISION_t *,
_INTEGER_t *);
[/cpp]

You can get all headers in mkl/include directory. If you meant something else, please elaborate.

A.

0 Kudos
eunsal
Beginner
289 Views

Hi,

I am running the Java examples in MKL Examples folder. The examples import "com.intel.mkl.*".All examples run fine, however, there are example withfunctions from Pardiso.When I looked at the 'wrappers' folder, there are wrappers for LAPACK, CBLAS, VML etc., but no Pardiso. I assumed that is why I wasn't able to call afunction from Pardiso because there is no wrapper written for it.

I have no experience with this as I only used Java libraries before.So Ifollowed the examples and tried to make it work. My main question, I guess, do I needa seperate wrapper for Pardiso or is there any other way to call it from Java?







Quoting - ArturGuzik
Evren,

what do you mean? I assume you call Fortran from Java via C++ and then the header would be
[cpp]void pardiso(
_MKL_DSS_HANDLE_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _INTEGER_t *, _INTEGER_t *,
_DOUBLE_PRECISION_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _INTEGER_t *, _INTEGER_t *,
_INTEGER_t *, _DOUBLE_PRECISION_t *, _DOUBLE_PRECISION_t *,
_INTEGER_t *);
[/cpp]

You can get all headers in mkl/include directory. If you meant something else, please elaborate.

A.

0 Kudos
ArturGuzik
Valued Contributor I
289 Views
Quoting - eunsal


You're right. I mean you need to prepare the wrapper yourself.

A.
0 Kudos
Reply