[Trilinos-Users] [EXTERNAL] Amesos2/SuperLUdist Build Errors on OSX

Kris Beckwith beckwith at txcorp.com
Fri Mar 13 12:11:52 MDT 2015


Hi,

This is for a multipurpose application framework, rather than a specific physics/math problem.

Thanks,

Kris

-- 
Kris Beckwith             beckwith at txcorp.com
Tech-X Corporation
5621 Arapahoe Ave, Suite A
Boulder, CO 80303 
Phone: 303-996-2027
Fax:   (303) 448-7756
--

> On Mar 13, 2015, at 12:06 PM, Siva Rajamanickam <srajama at sandia.gov> wrote:
> 
> Kris
>  There was a similar problem that got fixed in SuperLU*. I mistook this problem for that. I will report this problem to SuperLU developers.
> 
>  Can I ask what is the problem you are trying to solve with SuperLU_dist ?
> 
> Thanks
> Siva
> On 03/13/2015 10:46 AM, Kris Beckwith wrote:
>> Hi,
>> 
>> Thanks for the response. Unfortunately, from what we have been able to find out, SuperLU_dist v4.0 suffers from the same issue.
>> In addition, SuperLU_dist v4.0 has API changes from 2.5 which don’t appear to be compatible with Amesos (rather than Amesos2)
>> in Trilinos 11.14.1 (specifically calls to LUstructInit in Amesos_Superludist.cpp)
>> 
>> We have also found that this problem not only affects clang 6.0.0 on OSX Yosemite, but also gcc 4.9 and clang 3.5.0 on Linux. My colleague,
>> Dominic Meiser (cc’d on this email) has come up with a (very) simple test program that demonstrates the issue:
>> 
>> #include <superlu_defs.h>
>> namespace D {
>> #include <superlu_ddefs.h>
>> }
>> namespace Z {
>> #include <superlu_zdefs.h>
>> }
>> 
>> int main() {
>> }
>> 
>> Compiling this with clang (or gcc4.9):
>> 
>> clang++ -I ${SuperLU_DIST_4.0_PATH}/SRC/ -I ${MPI_PATH}/openmpi/include/ -c test_slu.cpp
>> 
>> Yields the errors given at the end of this email. This problem stems, as you say, from SuperLU_dist having definitions that don’t
>> depend on scalar types in both the *zdef and the *ddef header files. A possibility that we were considering was refactoring SuperLU_dist
>> so that the duplicate definitions are removed; however, because some struct’s with the same names have different definitions inside the zdef
>> and ddef files, this turns out to be much more difficult.
>> 
>> A further problem is that we need complex support in other parts of Trilinos. As complex support in Amesos2 is keyed of the HAVE_TEUCHOS_COMPLEX
>> compiler directive, there doesn’t seem to be an easy to just turn that part of Amesos2 off. The solution for now then seems to be to disable SuperLU_dist
>> support in Amesos2 completely.
>> 
>> Since this issue comes up under new versions of gcc on Linux as well, has the Trilinos team determined a strategy to resolve this problem (which
>> seems to be a pretty fundamental software engineering issue)?
>> 
>> Thanks,
>> 
>> Kris
>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20150313/150df63a/attachment.html>


More information about the Trilinos-Users mailing list