[Dune-devel] Setting UMFPack parameters

Dominic Kempf dominic.r.kempf at gmail.com
Tue Aug 5 18:20:11 CEST 2014


Dear Dune,

having received a request for such feature, I have prepared a patch
that allows a similar procedure for the array that returns information
on the solver. This is an interface change, so I propose it here. You
find the code on
http://cgit.dune-project.org/repositories/dune-istl/log/?h=feature/umfpack-information-access

Best,
Dominic

On Fri, Jan 17, 2014 at 3:54 PM, Oliver Sander
<sander at igpm.rwth-aachen.de> wrote:
> Hi Dominic,
>
>> its true that the interface of the UMFPack wrapper doesnt allow
>> parameter tweaking. The main problem for me with it has been, that you
>> definitely dont want to add methods for ALL umfpack options, as they
>> are too many. This would result in an unreadable interface (most users
>> wont care for those options anyway). I am surprised by the factor of 6
>> you get out of there and that definitely means it should be
>> considered.
>
> Yeah, I was surprised by the factor 6, too.  From reading the documentation
> I was expecting factor 3 maximum.  No idea why it is a factor 6.
> Note that this is about back-substitution only.  It does not change
> the factorization speed.
>
>
>  I see two options:
>> - Add methods to the Umfpack class for a subset of options, that we
>> consider worthwile
>> - add a method
>> void setUMFParameter(int Parameter, double value)
>> {
>>   UMF_Control[Parameter] = value;
>> }
>> Such method would only be usable by a user that has studied the
>> UMFPack Manual. I am in favor of this, as setting those parameters
>> doesnt make much sense without being informed about what UMFPack does
>> anyway.
>
> I agree.  Such a method has now been added to the class.
>
> Cheers,
> Oliver
>
>
>> Best,
>> Dominic
>>
>>
>> On Fri, Jan 17, 2014 at 11:48 AM, Oliver Sander
>> <sander at igpm.rwth-aachen.de> wrote:
>>> Hi Markus, hi Dominic, hi all,
>>> I have been playing around with the ISTL-UMFPack wrapper recently.  As it turns out,
>>> I can solve my problems six times faster without noticeable loss of accuracy by
>>> switching off iterative refinement.  However there is no way to do that through the
>>> interface.  More technically, I need to set values in the UMF_Control array.
>>> Before I start hacking, do you have any specific ideas how an official way to modify
>>> UMF_Control from the outside should look like?
>>> Cheers,
>>> Oliver
>>>
>>>
>>> _______________________________________________
>>> Dune-devel mailing list
>>> Dune-devel at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune-devel
>>>
>
>
>
> _______________________________________________
> Dune-devel mailing list
> Dune-devel at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune-devel
>




More information about the Dune-devel mailing list