[petsc-users] mkl cpardiso iparm 31

Junchao Zhang junchao.zhang at gmail.com
Sun May 31 23:34:33 CDT 2020


Thanks for the update. Let's hope Intel will add it.
--Junchao Zhang


On Sun, May 31, 2020 at 9:53 PM Marius Buerkle <mbuerkle at web.de> wrote:

> Sorry for the late reply, but it took some time to figure things out with
> intel support. It turned out  that the feature is at the present only
> available in the non-mpi MKL pardiso but not in the MKL cluster solver, so
> the MKL manual is actually wrong here. I filled a feature request at intel
> premium support but no clue how long this will take (if ever) to add it. in
> case it will be available in mkl at some point i will come back to you.
>
> best and thanks
> marius
>
>
>
> *Betreff:* Re: Re: Re: [petsc-users] mkl cpardiso iparm 31
> Marius,
>   Thanks for the update. Once you get feedback from Intel, please let us
> know. If Intel supports it, we can add it.  I am new to pardiso, but I
> think it is doable.
> --Junchao Zhang
>
> On Thu, May 7, 2020 at 11:56 PM Marius Buerkle <mbuerkle at web.de> wrote:
>
>> Hi Junchao,
>>
>> I contacted intel support regarding this, they told me that this is a
>> typo in the manual and that iparm[30] is indeed used. However, while it
>> works for the non-MPI (MKL_PARDISO) version, it does not work, or I could
>> not get it working, for the cluster sparse solver (MKL_CPARDISO). I
>> reported this also to intel support but no reply yet. I was also wondering
>> about how perm(N) is distributed and I don't know at the moment.
>>
>> Best,
>> Marius
>>
>>
>>
>> Marius,
>>   You are right. perm is not referenced. I searched and found this,
>>
>> https://software.intel.com/content/www/us/en/develop/documentation/mkl-developer-reference-c/top/sparse-solver-routines/parallel-direct-sparse-solver-for-clusters-interface/cluster-sparse-solver.html
>> .
>>   It says "perm Ignored". But from other parts of the document, it seems
>> perm is used. I'm puzzled whether Intel MKL pardiso supports this feature
>> or not.
>>
>>  I am thinking about adding MatMkl_CPardisoSetPerm(Mat A, IS perm) or
>> MatMkl_CPardisoSetPerm(Mat A, const PetscInt *perm). But I don't know
>> whether perm(N) is distributed or every mpi rank has the same perm(N).
>>  Do you know good Intel MKL pardiso documentation or examples for me to
>> reference?
>>
>> Thank you.
>> --Junchao Zhang
>>
>> On Thu, May 7, 2020 at 3:14 AM Marius Buerkle <mbuerkle at web.de> wrote:
>>
>>> Hi,
>>>
>>> Thanks for the info. But how do I set the values to be calculated.
>>> According to the intel parallel sparse cluster solver manual the entries
>>> have to be defined in the permutation vector (before each call). However,
>>> if I understand what is happening in mkl_cpardiso.c. correctly, perm is
>>> set to 0 during the initialization phase and then not referenced anymore.
>>> Is this correct? How can I specify the necessary entries in perm?
>>>
>>> Best,
>>> Marius
>>>
>>>
>>>
>>>
>>> On Fri, May 1, 2020 at 3:33 AM Marius Buerkle <mbuerkle at web.de> wrote:
>>>
>>>> Hi,
>>>>
>>>> Is the option "-mat_mkl_cpardiso_31" to calculate Partial solve and
>>>> computing selected components of the solution vectors actually
>>>> supported by PETSC?
>>>>
>>> From the code, it seems so.
>>>
>>>>
>>>> Marius
>>>>
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200531/c3c35967/attachment.html>


More information about the petsc-users mailing list