Open gassmoeller opened 4 months ago
This issue was recently reported to Trilinos: https://github.com/trilinos/Trilinos/issues/13456
The problem is that candi disables float scalar type for Tpetra in builds with MKL https://github.com/dealii/candi/blob/b29742545f13c5e61cd6b681932a85e07b25f2a8/deal.II-toolchain/packages/trilinos.package#L150 but enables them for the rest of Trilinos: https://github.com/dealii/candi/blob/b29742545f13c5e61cd6b681932a85e07b25f2a8/deal.II-toolchain/packages/trilinos.package#L241 This exposed an issue with Trilinos' CMake logic that was fixed here: https://github.com/trilinos/Trilinos/pull/13457
The consequence of this change is that Candi's configuration for Trilinos will error out for future versions of Trilinos. The fix for Candi is to set Trilinos_ENABLE_FLOAT=OFF
when building with MKL.
We have problems installing trilinos on TACC Frontera with the latest candi version (see bug report in the ASPECT forum). We see errors of the sort:
I played around a bit with this myself and it looks like one of the instantiations of TPetra (for
float
) is missing. I found this line which is active when using MKL (which we do). This looks like it could be the reason for the missing instantiation. Unfortunately I cannot simply add that instantiation, because the original bug in MKL is still there (HAVE_TEUCHOS_BLASFLOAT
is false, so trilinos thinks the Intel MKL blas implementation does not support float). Interestingly the candi branchdealii-9.5
compiles without issues, so something must have changed in candi (maybe #375 or #350).Any pointers for how to resolve this problem would be appreciated.
For now I try working around the problem by using the cluster provided trilinos modules and/or using the old candi version.