Skip to content

Anasazi: Fixes issue with Teuchos::SerialDenseMatrix randomization in parallel

James Willenbring requested to merge 2473-AnasaziSDMRandom into develop

Created by: hkthorn

The longstanding test failures for the ModalSolvers and OrthoManager have been tracked down to the randomization of Teuchos::SerialDenseMatrix objects in parallel. There is no expectation that calling random() on an object that is locally owned to one MPI process will result in a SerialDenseMatrix that has the SAME random numbers in it on every MPI processor. It's that easy.

https://github.com/trilinos/Trilinos/issues/2473

@trilinos/anasazi

Description

The longstanding test failures for the ModalSolvers and OrthoManager have been tracked down to the randomization of Teuchos::SerialDenseMatrix objects in parallel. There is no expectation that calling random() on an object that is locally owned to one MPI process will result in a SerialDenseMatrix that has the SAME random numbers in it on every MPI processor.

These Teuchos::SerialDenseMatrix objects are created and used in these tests, not within the Anasazi library code. Further inspection of the test code also resulted in some removal of unused test code and expansion of testing for Tpetra. While not essential to this particular fix, these changes help Anasazi's code coverage in testing.

Motivation and Context

In parallel, random testing for the ModalSolvers and OrthoManager has been failing for some time. This takes care of the test failures and will enable the tests to be run on ATDM machines to ensure that bugs are not introduced into Anasazi.

Related Issues

  • Closes Bug 2473
  • Blocks
  • Is blocked by
  • Follows
  • Precedes
  • Related to
  • Part of
  • Composed of

How Has This Been Tested?

Serial/parallel testing using GCC 4.8.4 on RHEL6 and GCC 7.2.0 on OSX.

Screenshots

Checklist

  • My commit messages mention the appropriate GitHub issue numbers.
  • My code follows the code style of the affected package(s).
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the code contribution guidelines for this project.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • No new compiler warnings were introduced.
  • These changes break backwards compatibility.

Additional Information

Merge request reports