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

pardiso/pardiso_64 solution argument when iparm(5)=1 (overwrite)

Jens_E_
New Contributor I
403 Views

Hi,

I quick question regarding pardiso/pardiso_64: When iparm(5)=1 (0-based indexing) so that the solution is put in the rhs vector b, do I need to allocate any memory for the argument 'x' (the solution vector) ? I would think not, but the documentation is not specific (https://software.intel.com/en-us/node/470284).

I'm using mkl 11.3 update 3.

Best,
Jens

0 Kudos
3 Replies
MariaZh
Employee
403 Views

Hi Jens,

No, there is no need to allocate additional memory in this case, right hand side will be overwritten with solution.

Best regards,
Maria

0 Kudos
Jens_E_
New Contributor I
403 Views

Hi Maria,

Ok, thanks! However, according to https://software.intel.com/en-us/node/470298#IPARM6, "The array x is always used." What does that mean?

also, if I just pass a std:vector<double>().data() as the 'b' parameter, pardiso crashes.

Best,
Jens

0 Kudos
MariaZh
Employee
403 Views

Hi Jens,

I'm afraid I misled you earlier, sorry for any inconvenience.
The point is x-array is used anyway on solving step of Pardiso (this is what the Note is supposed to be about), so it should be allocated and iparm[5] is just indicates the storage for the solution.
About the crash: can you please provide a short reproducer for your case?

Thank you for your questions!

Best regards,
Maria

0 Kudos
Reply