sandialabs / Albany

Sandia National Laboratories' Albany multiphysics code
Other
282 stars 89 forks source link

Failed Albany Intel build due to minitensor #516

Closed ikalash closed 5 years ago

ikalash commented 5 years ago

It looks like the Albany intel builds on CEE and Skybridge have been failing for a few days due to a minitensor issue:


/.../repos/Albany/src/LCM/solvers/Schwarz_Alternating.cpp(611): error: expression must have a constant value

    constexpr auto         ZEROS{minitensor::Filler::ZEROS};
                                ^
/.../repos/Albany/src/LCM/solvers/Schwarz_Alternating.cpp(611): note: reference or pointer to temporary with limited lifetime
    constexpr auto         ZEROS{minitensor::Filler::ZEROS};

http://cdash.sandia.gov/CDash-2-3-0/viewBuildError.php?buildid=88458

@lxmota: did something change on the minitensor side that would cause this error? I don't recall seeing changes to Schwarz recently in the Albany repo, but I could have missed something while on travel.

lxmota commented 5 years ago

Nothing changed in minitensor, but I did this. Odd that the intel compiler does not support this construct. I’ll change it to something else that hopefully it will be able to compile.

ikalash commented 5 years ago

Thanks, Alejandro!

ikalash commented 5 years ago

Thanks for trying to fix this @lxmota . It looks like there is a new error now - I guess a constructor you are trying to use does not exist:


/.../repos/Albany/src/LCM/solvers/Schwarz_Alternating.cpp(612): error: no instance of constructor "minitensor::Vector::Vector [with T=ST={RealType={double}}, N=0U]" matches the argument list

            argument types are: (const int, const std::initializer_list)
    minitensor::Vector norms_init(num_subdomains_, ZEROS);
                                      ^
/.../test/TrilinosIntelInstall/include/MiniTensor_Vector.h(270): note: this candidate was rejected because mismatch in count of arguments
    Vector(T const & s0, T const & s1, T const & s2);
    ^
/.../test/TrilinosIntelInstall/include/MiniTensor_Vector.h(262): note: this candidate was rejected because arguments do not match
    Vector(T const & s0, T const & s1);
    ^
/.../test/TrilinosIntelInstall/include/MiniTensor_Vector.h(255): note: this candidate was rejected because mismatch in count of arguments

http://cdash.sandia.gov/CDash-2-3-0/viewBuildError.php?buildid=88528

ikalash commented 5 years ago

Just to follow up on our theory @lxmota: it doesn't look like the compiler on CEE/Skybridge changed when this issue started - was Intel 18.0.3.20180410, and is still the same Intel version.

lxmota commented 5 years ago

That’s odd. Anyway, hopefully what I changed today will fix it.

On Aug 30, 2019, at 22:01, Irina K. Tezaur notifications@github.com<mailto:notifications@github.com> wrote:

Just to follow up on our theory @lxmotahttps://github.com/lxmota: it doesn't look like the compiler on CEE/Skybridge changed when this issue started - was Intel 18.0.3.20180410, and is still the same Intel version.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/SNLComputation/Albany/issues/516?email_source=notifications&email_token=ABWKJAK6J6VGQAVMYGZHK23QHH3LRA5CNFSM4IR2Y6O2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5TFJ7Y#issuecomment-526800127, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ABWKJAPLKRDKPQHKIDKKNSLQHH3LRANCNFSM4IR2Y6OQ.

ikalash commented 5 years ago

Seems your last commit @lxmota fixed this issue - thanks!

lxmota commented 5 years ago

Yes, it was very odd the way the Intel compiler was behaving here, converting an enumeration class into an integer when using auto, and thus the confusion about the constructor. Anyway, glad it’s fixed now.