Intrepid MiniTensor: More internal name refactoring.
MueLu: Fixing multiple parallel prints

Thanks to Dr. P for finding this.

Build/Test Cases Summary
Enabled Packages: MueLu
Disabled Packages: MOOCHO
Enabled all Forward Packages
0) MPI_DEBUG => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
1) SERIAL_RELEASE => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
2) MPI_SS_DEBUG => passed: passed=99,notpassed=0 (5.88 min)
3) SERIAL_SS_DEBUG => passed: passed=91,notpassed=0 (4.45 min)
Setting general flags for Fortran

This will result in -g getting set automatically for Fortran when
${PROJECT_NAME}_ENABLE_DEBUG_SYMBOLS=ON when the compiler is GNU.

This will make debugging Fortran code easier.

Build/Test Cases Summary
Enabled Packages: Teuchos, COBRA_TF
0) MPI_DEBUG => passed: passed=287,notpassed=0 (8.64 min)
1) SERIAL_RELEASE => passed: passed=278,notpassed=0 (5.98 min)
Fixed cuda issue on sumIntoValues needing inline and const flags
Kokkos: Replacing usage of Kokkos::Host with Kokkos::Threads in preparation for removing Kokkos::Host .
Kokkos: Remove 'Kokkos::Host' device.
Introduce -DKOKKOS_HAVE_CUDA_ARCH macro to build to match the value of __CUDA_ARCH__ .
In the example kokkos/core/configure_kokkos.sh we have three architecture options:

CUDA_NVCC_FLAGS="-DKOKKOS_HAVE_CUDA_ARCH=200;-gencode;arch=compute_20,code=sm_20"
// CUDA_NVCC_FLAGS="-DKOKKOS_HAVE_CUDA_ARCH=300;-gencode;arch=compute_30,code=sm_30"
// CUDA_NVCC_FLAGS="-DKOKKOS_HAVE_CUDA_ARCH=350;-gencode;arch=compute_35,code=sm_35"
Kokkos: Verify compatibility between KOKKOS_HAVE_CUDA_ARCH and __CUDA_ARCH__ .  Add macro values to Device::print_configuration.
MueLu: proc grid prints @ higher verb level now

Build/Test Cases Summary
Enabled Packages: MueLu
Disabled Packages: MOOCHO
Enabled all Forward Packages
0) MPI_DEBUG => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
1) SERIAL_RELEASE => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
2) MPI_SS_DEBUG => passed: passed=99,notpassed=0 (12.47 min)
3) SERIAL_SS_DEBUG => passed: passed=91,notpassed=0 (9.98 min)
IOSS: Add option to scale input and output times by a specified scale factor

(From Sierra)
IOSS: Better parsing of the compose_results and compose_restart property setting-- checks for valid value instead of just existance

(From Sierra)

Build/Test Cases Summary
Enabled Packages: SEACASIoss
Disabled Packages: Panzer,PyTrilinos
Enabled all Forward Packages
0) MPI_DEBUG => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
1) SERIAL_RELEASE => Skipped configure, build, test due to no enabled packages! => Does not affect push readiness! (-1.00 min)
2) MPI_DEBUG_SS => passed: passed=21,notpassed=0 (22.07 min)
3) SERIAL_RELEASE_SS => passed: passed=22,notpassed=0 (23.44 min)
Other local commits for this build/test group: d0a13f9
Ifpack2: SparseContainer: Expanded documentation and simplified code.

In particular, I simplified the "local gather / scatter" interface.

Build/Test Cases Summary
Enabled Packages: Ifpack2
0) MPI_DEBUG => passed: passed=22,notpassed=0 (1.12 min)
1) SERIAL_RELEASE => passed: passed=18,notpassed=0 (0.84 min)
Ifpack2: SparseContainer: Revised public docs, and fixed interface.

This commit removes the unnecessary and optional second argument from
the constructor of SparseContainer, namely the number of vectors
(columns) expected in the input of apply() and weightedApply().  The
latter methods reallocate internal storage on demand anyway, so there is
no need to know in advance how many columns X and Y will have.
Ifpack2: Improved Container interface.

It used to be that one would specify the local indices to extract by
calling the "MatrixLocalOrdinal& ID(size_t j)" method, for example in
BlockRelaxation.  I couldn't find an example use case of Container that
actually doesn't just set all the indices at once, at the time of
constructing the Container.  Thus, I changed Container's constructor
(and the constructor of SparseContainer, currently the only subclass of
Container in Ifpack2) to take the indices all at once.  I also added a
public method "Teuchos::ArrayView<const MatrixLocalOrdinal>
getLocalRows() const" to Container.  It doesn't need to be virtual,
since Container just keeps the indices that were passed to its
constructor.
Ifpack2: Container: Got rid of ID(size_t) method.

Container prefers a coarse-grained interface that accepts or returns a
view of all the indices.  It doesn't need a fine-grained interface that
returns (or changes) one index at a time.  This commit removes the ID()
method entirely from Container.  It has been replaced by getLocalRows(),
which returns a

Teuchos::ArrayView<const typename MatrixType::local_ordinal_type>.

This is a view of all the row indices.  Subclasses like BlockRelaxation
now can get all the indices at once, so they can make one less function
call in their inner loops.

Build/Test Cases Summary
Enabled Packages: Ifpack2
0) MPI_DEBUG => passed: passed=22,notpassed=0 (1.12 min)
1) SERIAL_RELEASE => passed: passed=18,notpassed=0 (0.71 min)
Other local commits for this build/test group: 256e897, 8eb060e
Ifpack2: Container: Constructor now takes the global input matrix.

Furthermore, compute() now takes no arguments.  This makes Container
look more like the Preconditioner interface, since it was being used in
that way in any case.

My recent changes to Container, including this one, do break backwards
compatibility.  However, Container was always just an implementation
detail of preconditioners like BlockRelaxation.  More importantly, Tom
Benson is actively using BlockRelaxation to investigate new kinds of
multigrid smoothers.  We would like to develop a DenseContainer class to
help that work, but if Container has the wrong interface, then that will
pollute Tom's work and leave Ifpack2 stuck with the wrong interface for
a long time.
Ifpack2: Container: Removed second template parameter (InverseType).

Container never did anything with InverseType.  Furthermore, InverseType
(as a subclass of Ifpack2::Preconditioner) would not necessarily make
sense for a subclass like DenseContainer, which might use the built-in
solver in Teuchos::SerialDenseMatrix, or LAPACK, or some other method.
Ifpack2: Container: Renamed public typedefs to match Tpetra::RowMatrix.

Now Container's public typedefs (e.g., scalar_type) match those of
Tpetra::RowMatrix, Tpetra::CrsMatrix, Tpetra::MultiVector, and
Ifpack2::Preconditioner.  I also made private the public typedefs in
SparseContainer that come from InverseType, because they are implementation
details of the class.  (In particular, they are only used internally to make
the Tpetra::MultiVector specializations corresponding to InverseType::apply()'s
arguments.) Users who want those typedefs should get them from InverseType,
which itself is now available as a public typedef of SparseContainer.  This
also has the advantage that it might let us introduce new InverseType
possibilities that don't necessarily have these typedefs, as long as we can
somehow know the types of the multivector arguments of InverseType::apply().

Build/Test Cases Summary
Enabled Packages: Ifpack2
0) MPI_DEBUG => passed: passed=22,notpassed=0 (1.09 min)
1) SERIAL_RELEASE => passed: passed=18,notpassed=0 (0.71 min)
Other local commits for this build/test group: ba6ca34, 6a258bf