[petsc-users] MatMumpsSetIcntl from Fortran

Hong Zhang hzhang at mcs.anl.gov
Thu Dec 1 22:20:43 CST 2011


Alexander
Using blocks below and
petsc-dev/src/ksp/ksp/examples/tutorials/ex2f.F, I wrote a Fortran test
petsc-dev/src/ksp/ksp/examples/tutorials/ex57f.F (attached).

I noticed some sloppiness in our interface that fails to take the
procedural options,
but I did not see crash as you experienced. I updated petsc-mumps
interface in petsc-dev.
Can you switch to petsc-dev which interfaces with MUMPS_4.10.0 and see
if it still crash in Fortran?
See http://www.mcs.anl.gov/petsc/developers/index.html on how to get petsc-dev.

Let us know if you still get problems,

Hong

>
> This should be enough to reproduce the problem:
>
>  call KSPCreate(PETSC_COMM_WORLD,ksp,ierr);CHKERRQ(ierr)
>  call KSPSetOperators(ksp,A,A,DIFFERENT_NONZERO_PATTERN,ierr);CHKERRQ(ierr)
>  call KSPSetType(ksp,KSPPREONLY,ierr);CHKERRQ(ierr)
>  call KSPGetPC(ksp,pc,ierr);CHKERRQ(ierr)
>  call PCSetType(pc,PCCHOLESKY,ierr);CHKERRQ(ierr)
>  call PCFactorSetMatSolverPackage(pc,MATSOLVERMUMPS,ierr);CHKERRQ(ierr)
>  call PCFactorSetUpMatSolverPackage(pc,ierr);CHKERRQ(ierr)
>  call PCFactorGetMatrix(pc,F,ierr);CHKERRQ(ierr)
>  call KSPSetFromOptions(ksp,ierr);CHKERRQ(ierr)
>  icntl = 2; ival = 0;
>  call MatMumpsSetIcntl(F,icntl,ival,ierr);
>
> Regards,
> Alexander
>
>
> On 30.11.2011 23:43, Hong Zhang wrote:
>>>
>>> Sorry if I wasn't clear.  "c" example works fine, I know, what I meant is
>>> that if you try to implement lines 150-171 from it on FORTRAN you will
>>> see
>>> the problem I reported.
>>> If you need particularly my FORTRAN code I can send it tomorrow.
>>
>> This would save my time :-)
>> Appreciate.
>>
>> Hong
>>>
>>> Regards,
>>> Alexander
>>>
>>>
>>> ----- Reply message -----
>>> From: "Hong Zhang"<hzhang at mcs.anl.gov>
>>> To: "PETSc users list"<petsc-users at mcs.anl.gov>
>>> Subject: [petsc-users] MatMumpsSetIcntl from Fortran
>>> Date: Wed, Nov 30, 2011 9:37 pm
>>>
>>>
>>> Alexander :
>>>
>>>> I just rewrote code concerning mumps from this example (lines 150-170):
>>>>
>>>>
>>>> http://www.mcs.anl.gov/petsc/petsc-dev/src/ksp/ksp/examples/tutorials/ex52.c.html
>>>
>>> Where is your Fortran code? ex52.c works fine.
>>> Hong
>>>
>>>> On 30.11.2011 17:40, Hong Zhang wrote:
>>>>>
>>>>> Alexander:
>>>>>
>>>>>> Has anybody tried to use MatMumpsSetIcntl from Fortran?
>>>>>
>>>>> We are not aware of it.
>>>>>
>>>>>> Because when I try to call it I fall into infinite recursion in
>>>>>> function:
>>>>>
>>>>> Can you give me a short Fortran code that repeats this error for
>>>>> investigating?
>>>>> Meanwhile, you can use runtime option '-mat_mumps_icntl_xxx<>' to get
>>>>> your code run.
>>>>>
>>>>> Hong
>>>>>>
>>>>>>  PetscErrorCode MatMumpsSetIcntl(Mat F,PetscInt icntl,PetscInt ival)
>>>>>>  {
>>>>>>   PetscErrorCode ierr;
>>>>>>
>>>>>>   PetscFunctionBegin;
>>>>>>   PetscValidLogicalCollectiveInt(F,icntl,2);
>>>>>>   PetscValidLogicalCollectiveInt(F,ival,3);
>>>>>>   ierr =
>>>>>>
>>>>>>
>>>>>>
>>>>>> PetscTryMethod(F,"MatMumpsSetIcntl_C",(Mat,PetscInt,PetscInt),(F,icntl,ival));CHKERRQ(ierr);
>>>>>>   PetscFunctionReturn(0);
>>>>>>  }
>>>>>>
>>>>>> At the moment when program crashes call stack looks like:
>>>>>>
>>>>>>     __libc_memalign,
>>>>>> FP=7fff342ca010
>>>>>> PetscMallocAlign,
>>>>>>  FP=7fff342ca080
>>>>>> PetscTrMallocDefault,
>>>>>>  FP=7fff342ca180
>>>>>> PetscStrallocpy,
>>>>>> FP=7fff342ca230
>>>>>> PetscFListGetPathAndFunction,
>>>>>>  FP=7fff342cb2e0
>>>>>> PetscFListFind,
>>>>>>  FP=7fff342cb520
>>>>>> PetscObjectQueryFunction_Petsc,
>>>>>>  FP=7fff342cb590
>>>>>> PetscObjectQueryFunction,
>>>>>>  FP=7fff342cb620
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cb720
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cb820
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cb920
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cba20
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cbb20
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cbc20
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cbd20
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cbe20
>>>>>> MatMumpsSetIcntl,
>>>>>>  FP=7fff342cbf20
>>>>>> ... (Hundreds of MatMumpsSetIcntl) ...
>>>>>>
>>>>>> What can I do about that?
>>>>>>
>>>>>> Regards,
>>>>>> Alexander
>>>>
>>>>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ex57f.F
Type: application/octet-stream
Size: 13471 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20111201/0dc52308/attachment.obj>


More information about the petsc-users mailing list