[petsc-users] MatMumpsSetIcntl from Fortran

Hong Zhang hzhang at mcs.anl.gov
Fri Dec 2 12:30:22 CST 2011


> Am I right that mumps in dev version uses latest parmetis (which means it
> was patched)?
Yes.
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: Fri, Dec 2, 2011 5:20 am
>
>
> 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
>>>>>
>>>>>
>>
>


More information about the petsc-users mailing list