-
Notifications
You must be signed in to change notification settings - Fork 559
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tpetra::MultiVector unit tests fail for Scalar=complex<double>, likely due to kokkos-kernels changes #3493
Comments
Bisection: This commit passes the test:
|
This commit fails; it is the next commit in develop right after the one mentioned above:
|
Really ? As far as I remembered, I just changed testing scope in kokkoskernels testing directory. Oh.... I cannot believe how this could possibly affect other testings. |
@kyungjoo-kim It looks like there's something off with the dot products -- does kokkos-kernels test with complex scalar types normally? |
@kyungjoo-kim Here is a build with complex enabled: https://testing.sandia.gov/cdash/testDetails.php?test=55163267&build=3970561 Here are the build details: https://testing.sandia.gov/cdash/buildSummary.php?buildid=3970561 I was able to get the test to fail on my Mac laptop with Clang and OpenMPI 1.10.x, with just TpetraCore enabled and |
@mhoemmen Yes I see the test but I did not see a complex test from KokkosKernels. It only includes Tpetra tests. Checking other tests, I cannot find a KokkosKernels complex test running on cdash. |
@kyungjoo-kim Hm, are there kokkos-kernels tests at all? I'm worried about lack of complex arithmetic coverage for Trilinos tests in general, esp. given that Salinas depends on it. Does EMPIRE also care? |
Is this relevant? #3336 |
@ndellingwood : Can we enable complex on Kokkos jenkins tests. I don't think we do. This is the first time I hear Salinas using Tpetra and thereby Kokkos Kernels. Is this a new dependency ? |
@srajama1 yeah, I'll work with Christian to learn how to do this later this week when he has a bit of time. |
Sierra has been building with complex arithmetic for years, due only to Salinas. Also I'd really not like to have correctness regressions :) |
@prwolfe @rrdrake Please don't update your version of Trilinos until we figure this out. It's likely this will break Salinas. @micahahoward FYI; I don't think this affects your code but it may be a correctness issue. |
I did some more investigation into the
I noticed the following build warnings too:
Normally, these warnings are harmless. However, they reminded me of some issues we saw several years ago in Teuchos, relating to calling Fortran functions that return complex numbers. Fortran functions don't necessarily return complex numbers in the way that the C ABI expects. This has nothing to do with input arrays of complex; it just has to do with functions that return a complex number. There are at least two possible fixes:
Option (1) requires a Fortran compiler. Option (2) is risky, because there may be different conventions for different compilers and/or systems. Option (3) is easy, but may lose some performance. |
@trilinos/tpetra
kokkos-kernels: Fix #3493 (incorrect dot product results & segfaults for complex Tpetra::MultiVector)
…GDSW-VFEM-Coarse-Spaces * 'develop' of https://github.com/trilinos/Trilinos: (186 commits) Tpetra: initial commit of user's guide (trilinos#3553) MueLu: fix master xml list problem PyTrilinos: Remove includes of NOX_Version.h Xpetra: update threshold type Re-enable Belos PCG tests (trilinos#2920 & trilinos#3007) on white/ride Phalanx: add debug output support during DAG traversal Switch to new devpack/20180521/openmpi/2.1.2/gcc/7.2.0/cuda/9.2.88 env (trilinos#3290) MueLu: Fix gold files MueLu gold files: Fix bad if statement in rebase scripts MueLu: Xpetra: add threshold for zero diag fix kokkos-kernels: Patch to fix trilinos#3493 Tpetra::MultiVector: Improve unit tests (help w/ trilinos#3493) running update_params.sh to fix up latex Disable four exodus SEACAS tests failing with Not Run on mutrino (trilinos#3496) (trilinos#3530) PyTrilinos: Fix case-sensitive include of Ifpack_ConfigDef.h Stratimikos Belos adapter: On Belos error, throw Thyra::CatastrophicSolveFailure Stratimikos Belos adapter: When "Timer Label" is set, use it in output Amesos: SuperLU_DIST version fixes put in a new phase 3 aggregation option that avoids singletons at all costs (even groupng vertices with non-neighbors into aggregates) Framework: Parameterized CTest build update to enable extra packages to be set by Jenkins parameters. (trilinos#3520) ...
@trilinos/tpetra Patch Trilinos' current snapshot of kokkos-kernels, in order to fix trilinos#3493 and kokkos/kokkos-kernels#307.
https://testing.sandia.gov/cdash/testDetails.php?test=55163267&build=3970561
Further inspection shows large relative errors, so this isn't just an issue of needing to adjust the tolerance for complex numbers. When I run the tests locally on a Mac, I get a segfault.
I'm curious if this is related to the recent kokkos-kernels update.
@trilinos/tpetra
Motivation and Context
Salinas depends on Tpetra with complex Scalar types.
The text was updated successfully, but these errors were encountered: