[Trilinos-Users] [EXTERNAL] Amesos2 Klu2 is not enabled or is not supported

Siva Rajamanickam srajama at sandia.gov
Tue Mar 24 13:26:25 MDT 2015


That explains it. You have two options. You could use 11.8.1 and use SuperLU as 
your solver (as that was the only one supported in that version of Trilinos) or 
upgrade to 11.14.1 and use either
  Basker or KLU2.

Thanks
Siva


On 03/24/2015 01:20 PM, Truman Ellis wrote:
> Siva,
> I am using version 11.8.1. Our stiffness matrix is symmetric positive 
> definite. At one point we were using Cholesky, but for reasons I can't 
> remember at the moment, we switched to KLU as the default.
>
> I tried
> Teuchos::RCP<Amesos2::Solver<Epetra_RowMatrix,Epetra_MultiVector> > solver = 
> Amesos2::create<Epetra_RowMatrix,Epetra_MultiVector>("Basker",A, X, B);
>
> But got a similar error:
> Basker is not enabled or is not supported
> Aborted
>
> Thanks for the response,
> Truman
>
> On 3/24/15 2:15 PM, Siva Rajamanickam wrote:
>> Truman,
>>   The first one is expected as KLU2 is no enabled by default. I am not sure 
>> why enabling it will get ignored, so it would be nice to know which version 
>> of Trilinos you are using.
>>
>>  Also what is your problem domain ? You might be able to use Basker, a new 
>> templated solver easily, if you don't depend on specific features of KLU 
>> (like the block triangular form) for performance.
>>
>> Thanks
>> Siva
>>
>> On 03/24/2015 01:03 PM, Truman Ellis wrote:
>>> We have a code built on Epetra and Amesos that we are gradually migrating to 
>>> Tpetra and Amesos2 in order to add support for complex variables. My first 
>>> step in the conversion is just getting Amesos2 to work with our Epetra 
>>> objects. The old code declares an Amesos_klu solver
>>> Amesos_Klu klu(problem);
>>> where problem is an Epetra_LinearProblem.
>>> My new code uses the following:
>>>     Teuchos::RCP<Epetra_RowMatrix> A = Teuchos::rcp(problem.GetMatrix());
>>>     Teuchos::RCP<Epetra_MultiVector> X = Teuchos::rcp(problem.GetLHS());
>>>     Teuchos::RCP<Epetra_MultiVector> B = Teuchos::rcp(problem.GetRHS());
>>> Teuchos::RCP<Amesos2::Solver<Epetra_RowMatrix,Epetra_MultiVector> > solver = 
>>> Amesos2::create<Epetra_RowMatrix,Epetra_MultiVector>(A, X, B);
>>>     solver->solve();
>>>
>>> This all compiles fine, but when I try to run it, I get the following error:
>>> terminate called after throwing an instance of 'std::invalid_argument'
>>>   what(): 
>>> /workspace/truman/trilinos/lib/cmake/Trilinos/../../../include/Amesos2_Factory.hpp:565:
>>>
>>> Throw number = 1
>>>
>>> Throw test that evaluated to true: true
>>>
>>> Klu2 is not enabled or is not supported
>>> Aborted
>>>
>>> I tried explicitly adding the following line to my do-configure script for 
>>> building Trilinos:
>>> -D Amesos2_ENABLE_KLU2:BOOL=ON \
>>>
>>> But I get a CMake warning:
>>> CMake Warning:
>>>   Manually-specified variables were not used by the project:
>>>
>>>     Amesos2_ENABLE_KLU2
>>>
>>> Any thoughts on how to fix this?
>>>
>>> Thanks,
>>> Truman Ellis
>>> _______________________________________________
>>> Trilinos-Users mailing list
>>> Trilinos-Users at software.sandia.gov
>>> https://software.sandia.gov/mailman/listinfo/trilinos-users
>>
>> _______________________________________________
>> Trilinos-Users mailing list
>> Trilinos-Users at software.sandia.gov
>> https://software.sandia.gov/mailman/listinfo/trilinos-users
>>
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> https://software.sandia.gov/mailman/listinfo/trilinos-users



More information about the Trilinos-Users mailing list