[Trilinos-Users] Amesos UMFPACK

Matt G mgoodman at email.arizona.edu
Fri Apr 16 19:25:02 MDT 2010


I forgot to mention that 64-bit BLAS is required too, and sometimes fairly
difficult depending on what you have to compile it for.
--Matthew Goodman

=====================
Find me on LinkedIn: http://tinyurl.com/d6wlch
Follow me on twitter: http://twitter.com/meawoppl



On Fri, Apr 16, 2010 at 5:24 PM, Dave Makhija <makhijad at colorado.edu> wrote:

> I attempted compiling UMFPACK with these flags in UFconfig.mk to solve
> larger problems,
>
> UMFPACK_CONFIG = -DLP64
>
> and later
>
> UMFPACK_CONFIG = -DLP64 -DLONGBLAS=long
>
> After recompiling Trilinos neither fixed the problem. Am I missing some
> other flags? How does this not run into the problem Mike H explained?
>
> Thanks for the responses
>
> Dave M
>
>
>
>
>
>
> On Fri, Apr 16, 2010 at 5:28 PM, Matt G <mgoodman at email.arizona.edu>wrote:
>
>> Optionally you can compile UMFPACK with the the -DP64 flag.  Its in the
>> UMFPACK docs somewhere, but I mention it here<http://craneium.net/index.php?option=com_content&view=article&id=78>.
>> Things get slower and these sorts of problems memory requirements grow with
>> DOF^2 or so, so it wont buy you as much as it seems.
>> --Matthew Goodman
>>
>> =====================
>> Find me on LinkedIn: http://tinyurl.com/d6wlch
>> Follow me on twitter: http://twitter.com/meawoppl
>>
>>
>>
>> On Fri, Apr 16, 2010 at 1:25 PM, Heroux, Mike <MHeroux at csbsju.edu> wrote:
>>
>>>  Dave,
>>>
>>>
>>>
>>> The restriction you see on problem size is due to the underlying size
>>> restriction imposed by the Epetra data classes that are used with Amesos.
>>> These classes use int as the data type, restricting problem sizes to 2^31.
>>>
>>>
>>>
>>> A new effort is underway to develop the same capabilities using Tpetra.
>>> Tpetra uses a template parameter to specify the integer size, and so can use
>>> any legitimate ordinal type that compiles correctly as the template
>>> parameter, including 64 bit ints (and 32, 16 bits, or even 8-bit chars).
>>> Tpetra supports generic scalar types in a similar way, e.g., float, double
>>> complex<>.
>>>
>>>
>>>
>>> Using Tpetra, we can support any of  the variety of third-party sparse
>>> direct solvers for all integer and scalar types.  In addition, we are
>>> working on a templated version of KLU (the native default solver in Amesos)
>>> that will allow us to support direct solution methods with any legitimate
>>> ordinal and scalar types, including important cases such as doubledouble and
>>> quaddouble (where the mantissa is two and four times as wide as double,
>>> resp).
>>>
>>>
>>>
>>> We plan to have a working core of these capabilities done for the Fall
>>> 2010 release of Trilinos.
>>>
>>>
>>>
>>> Best regards,
>>>
>>>
>>>
>>> Mike
>>>
>>>
>>>
>>> *From:* trilinos-users-bounces at software.sandia.gov [mailto:
>>> trilinos-users-bounces at software.sandia.gov] *On Behalf Of *Dave Makhija
>>> *Sent:* Friday, April 16, 2010 2:25 PM
>>> *To:* trilinos-users at software.sandia.gov
>>> *Subject:* [Trilinos-Users] Amesos UMFPACK
>>>
>>>
>>>
>>> I'm having trouble solving large linear systems using UMFPACK in Trilinos
>>> when the same system can be solved with Matlab's UMFPACK with no problem.
>>> The error returned is "Out of Memory", but this happens when 20% of our
>>> memory resources are being used. Here is the problem:
>>>
>>>
>>>
>>> UMFPACK 5.4 documentation lists their naming convention for user callable
>>> routines as,
>>>
>>>
>>>
>>> "1. umfpack di *: real double precision, int integers.
>>>
>>> 2. umfpack dl *: real double precision, UF long integers.
>>>
>>> 3. umfpack zi *: complex double precision, int integers.
>>>
>>> 4. umfpack zl *: complex double precision, UF long integers."
>>>
>>>
>>>
>>> The UMFPACK documentation also talks about compiling options for 32 bit
>>> or 64 bit UMFPACK and says,
>>>
>>> "In the LP64 [64 bit] mode, the umfpack_dl_* and umfpack_zl_*
>>> routines can solve huge problems (not limited to 2GB), limited of course by
>>> the amount of available memory."
>>>
>>>
>>>
>>> However, in trilinos-10.2.0-Source/packages/amesos/src/Amesos_Umfpack.cpp
>>> it clearly uses only the umfpack_di* (32 bit, 2GB max) routines.
>>>
>>>
>>>
>>> So the entire interface to the UMFPACK solver is hard coded to only do
>>> relatively small problems (2GB max)? Are there any releases or workarounds
>>> that can use the 64 bit UMFPACK routines (umfpack_dl_*)? I'm not sure how
>>> much work it would be to convert it myself, but I'm guessing if it's not
>>> included in Amesos already that it would be relatively hard to change.
>>>
>>> _______________________________________________
>>> Trilinos-Users mailing list
>>> Trilinos-Users at software.sandia.gov
>>> http://software.sandia.gov/mailman/listinfo/trilinos-users
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20100416/5471929f/attachment.html 


More information about the Trilinos-Users mailing list