Skip to content
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

Trilinos Master Merge PR Generator: Auto PR created to promote from master_merge_20250110_175815 branch to master #13718

Merged
merged 32 commits into from
Jan 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
e138e4d
Remove MLParameterListInterpreter unit testing
maxfirmbach Dec 21, 2024
4dd7d3f
MueLu: Fix some bugs
cgcgcg Dec 21, 2024
04eb5c4
Thyra: Add typedef to LinearOpWithSolveBase
cgcgcg Dec 21, 2024
9aedfd1
PyTrilinos2: Add Thyra and Stratimikos
cgcgcg Dec 21, 2024
384c72f
Piro: remove pointless overrides in Tempus observer adapter
bartgol Nov 11, 2024
88ab6ee
Panzer: add step size and stage number to initial condition builder
rppawlo Jan 6, 2025
b469364
Merge pull request #13690 from cgcgcg/pytrilinos2
cgcgcg Jan 6, 2025
6719dbe
Merge Pull Request #13705 from rppawlo/Trilinos/panzer-add-step-size-…
trilinos-autotester Jan 6, 2025
3233b65
intrepid2: compatibility update with kokkos-kernels
ndellingwood Dec 14, 2024
70edefb
Merge Pull Request #13671 from ndellingwood/Trilinos/kernels-intrepid…
trilinos-autotester Jan 7, 2025
d108844
Disable build of test for CUDA11
sebrowne Jan 7, 2025
7ff2e11
Merge Pull Request #13689 from maxfirmbach/Trilinos/MueLu-remove-MLPa…
trilinos-autotester Jan 7, 2025
10aff43
Fix `type-limits` compiler warning for GCC10
sebrowne Jan 8, 2025
12d93b1
Merge Pull Request #13709 from sebrowne/Trilinos/fix-type-limit-warning
trilinos-autotester Jan 8, 2025
cc1fe7a
Merge Pull Request #13707 from sebrowne/Trilinos/disable-intrepid2-test
trilinos-autotester Jan 8, 2025
28d913a
Stop specifying compilers for container configs
sebrowne Jan 8, 2025
dc44a12
Piro: bypass creation of Tempus observer adapter if Piro obs is alrea…
bartgol Nov 11, 2024
5d6c497
Update to using on-GitHub get_dependencies.sh
sebrowne Jan 8, 2025
baac3f6
Merge Pull Request #13712 from sebrowne/Trilinos/remove-container-com…
trilinos-autotester Jan 9, 2025
a99e9d0
Tempus: Fix type-limits
ccober6 Jan 9, 2025
82be494
Clang-format change.
ccober6 Jan 9, 2025
bdeb982
Merge Pull Request #13713 from sebrowne/Trilinos/update-get-dependenc…
trilinos-autotester Jan 9, 2025
4afdea6
Merge pull request #13716 from ccober6/Tempus-Fix-type-limits
ccober6 Jan 9, 2025
fcaadc9
Piro: in transient solver, copy X into gx_out only if compatible
bartgol Dec 23, 2024
6c7b1aa
Piro: allow to get the tempus integrator from the solver
bartgol Dec 23, 2024
a8809b5
Piro: a Mock observer for testing that is tempus-compatible
bartgol Dec 23, 2024
b6d627f
Piro: add test for a tempus-compatible piro observer
bartgol Dec 23, 2024
37758b7
Piro: fix TempusSolver unit tests to work for Tpetra builds too
bartgol Jan 6, 2025
88382c0
Piro: fix Tpetra version of TempusSolver unit tests
bartgol Jan 8, 2025
fb27452
Piro: remove pointless and unused stuff from TempusSolver
bartgol Jan 8, 2025
060b901
Piro: improve warning message
bartgol Jan 9, 2025
b9eb229
Merge pull request #13692 from trilinos/bartgol/piro-tempus-solver-mods
bartgol Jan 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
name: Get dependencies
working-directory: ./packages/framework
run: |
./get_dependencies.sh --container
./get_dependencies.sh

- if: matrix.build-mode == 'manual'
name: Generate CMake fragments
Expand Down
24 changes: 16 additions & 8 deletions packages/PyTrilinos2/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
# -*- cmake -*-


# Set the package name
TRIBITS_PACKAGE(PyTrilinos2 DISABLE_STRONG_WARNINGS)

Expand All @@ -27,11 +24,11 @@ PYTRILINOS2_CMAKE_ERROR
ON )

TRIBITS_ADD_OPTION_AND_DEFINE(PyTrilinos2_BINDER_VERBOSE
PYTRILINOS2_B_VERBOSE
PYTRILINOS2_VERBOSE
"Increase the verbosity of binder."
OFF )

SET(PyTrilinos2_BINDER_NUM_FILES "100" CACHE STRING "Maxinum number of generated files by binder.")
SET(PyTrilinos2_BINDER_NUM_FILES "150" CACHE STRING "Maxinum number of generated files by binder.")

MESSAGE("-- Python3_EXECUTABLE:")
IF(NOT DEFINED ${Python3_EXECUTABLE})
Expand Down Expand Up @@ -212,6 +209,10 @@ add_custom_command(
add_custom_target(generate_include_name DEPENDS ${binder_include_name})
add_dependencies(generate_include_name generate_ETI_name)

ASSERT_DEFINED(
${PACKAGE_NAME}_ENABLE_MueLu
)

set(BINDER_OPTIONS "")
list(APPEND BINDER_OPTIONS --root-module PyTrilinos2)
list(APPEND BINDER_OPTIONS --prefix ${CMAKE_CURRENT_BINARY_DIR}/binder)
Expand All @@ -223,8 +224,13 @@ ELSE()
ENDIF()
list(APPEND BINDER_OPTIONS --bind Teuchos)
list(APPEND BINDER_OPTIONS --bind Tpetra)
list(APPEND BINDER_OPTIONS --bind MueLu)
IF(PYTRILINOS2_B_VERBOSE)
list(APPEND BINDER_OPTIONS --bind Thyra)
list(APPEND BINDER_OPTIONS --bind ThyraTpetraAdapters)
list(APPEND BINDER_OPTIONS --bind Stratimikos)
IF(${PACKAGE_NAME}_ENABLE_MueLu)
list(APPEND BINDER_OPTIONS --bind MueLu)
ENDIF()
IF(PYTRILINOS2_VERBOSE)
list(APPEND BINDER_OPTIONS -v)
ENDIF()
IF(PYTRILINOS2_SUPPRESS_ERRORS)
Expand Down Expand Up @@ -346,7 +352,9 @@ ADD_SUBDIRECTORY( src )
file(COPY ${PyTrilinos2PyFiles} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/PyTrilinos2/.)
#file(COPY ${PyTrilinos2PyFilesSo} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/PyTrilinos2/.)

SET(PyTrilinos2_PYTHONPATH "${CMAKE_CURRENT_BINARY_DIR}:$ENV{PYTHONPATH}")
SET(PyTrilinos2_PYTHONPATH "${CMAKE_CURRENT_BINARY_DIR}")

TRIBITS_ADD_EXAMPLE_DIRECTORIES(examples)

TRIBITS_ADD_TEST_DIRECTORIES(test)

Expand Down
8 changes: 5 additions & 3 deletions packages/PyTrilinos2/cmake/Dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@
SET(LIB_REQUIRED_DEP_PACKAGES
Teuchos
Tpetra
MueLu
)
SET(LIB_OPTIONAL_DEP_PACKAGES)
Thyra
ThyraTpetraAdapters
Stratimikos
)
SET(LIB_OPTIONAL_DEP_PACKAGES MueLu)
SET(TEST_REQUIRED_DEP_PACKAGES)
SET(TEST_OPTIONAL_DEP_PACKAGES)
SET(LIB_REQUIRED_DEP_TPLS)
Expand Down
8 changes: 5 additions & 3 deletions packages/PyTrilinos2/cmake/PyTrilinos2MakeTest.cmake
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@

MACRO(PyTrilinos2_MAKE_MPI_TEST TEST_NAME)

FILE(COPY ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_NAME}.py DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

TRIBITS_ADD_TEST(
${Python3_EXECUTABLE}
NOEXEPREFIX
NOEXESUFFIX
NAME ${TEST_NAME}
ARGS "${TEST_NAME}.py"
PASS_REGULAR_EXPRESSION "OK"
ENVIRONMENT "PYTHONPATH=${PyTrilinos2_PYTHONPATH}"
ENVIRONMENT "PYTHONPATH=${PyTrilinos2_PYTHONPATH}:$ENV{PYTHONPATH}"
${ARGN}
)

TRIBITS_COPY_FILES_TO_BINARY_DIR(${TEST_NAME}_cp
SOURCE_FILES ${TEST_NAME}.py
CATEGORIES BASIC)

ENDMACRO(PyTrilinos2_MAKE_MPI_TEST TEST_NAME)
6 changes: 6 additions & 0 deletions packages/PyTrilinos2/cmake/PyTrilinos2_config.hpp.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#ifndef PYTILINOS2_CONFIG_HPP
#define PYTILINOS2_CONFIG_HPP

#cmakedefine HAVE_PYTRILINOS2_MUELU

#endif
3 changes: 3 additions & 0 deletions packages/PyTrilinos2/examples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
INCLUDE(PyTrilinos2MakeTest)

PyTrilinos2_MAKE_MPI_TEST(exampleCG)
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,14 @@ def main():
plt.plot(x0_view)
plt.savefig('x0_view.png', dpi=800, bbox_inches='tight',pad_inches = 0)

success = True
if comm.getRank() == 0:
if success:
print("OK")
else:
print("FAIL")


if __name__ == "__main__":
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
Expand Down
2 changes: 2 additions & 0 deletions packages/PyTrilinos2/python/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@
__version__ = '0.1.0'
def version():
return 'PyTrilinos2 version: ' + __version__

from . PyTrilinos2 import *
201 changes: 119 additions & 82 deletions packages/PyTrilinos2/scripts/PyTrilinos2_config.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -9,23 +9,77 @@

+include <pybind11/stl.h>
+include <pybind11/stl_bind.h>

# Standard library
-class std::basic_ios
-class std::vector
-class std::map
-class std::integral_constant
-class std::iterator
-class std::reverse_iterator
-class std::set

# OpenMPI
-class ompi_status_public_t
-class ompi_request_t
-class ompi_errhandler_t
-class ompi_communicator_t

###############################################################################
# Teuchos
+include <Teuchos_RCP.hpp>
+custom_shared Teuchos::RCP

+include_for_namespace Teuchos <PyTrilinos2_Teuchos_Custom.hpp>
+add_on_binder_for_namespace Teuchos def_Teuchos_functions
+add_on_binder_for_namespace Tpetra def_initialize_Kokkos

+custom_shared Teuchos::RCP

-namespace Teuchos::Details

-function Teuchos::Ptr::operator->
-function Teuchos::Ptr::get
-function Teuchos::Ptr::getRawPtr
-function Teuchos::Array::data
-function Teuchos::Array::getRawPtr
-function Teuchos::ArrayRCP::getRawPtr
-function Teuchos::ArrayView::access_private_ptr
-function Teuchos::ArrayView::begin
-function Teuchos::ArrayView::end
-function Teuchos::ArrayView::data
-function Teuchos::ArrayView::getRawPtr
-class Teuchos::ArrayRCP<void>
-class Teuchos::ArrayRCP<const void>
-class Teuchos::Array<bool>
-class Teuchos::Ptr<int>
-class Teuchos::Ptr<long>
-class Teuchos::Ptr<long int>
-class Teuchos::Ptr<long long>
-class Teuchos::Ptr<unsigned long>
-class Teuchos::Ptr<long long int>
-class Teuchos::Ptr<long unsigned int>
-class Teuchos::Ptr<bool>
-class Teuchos::Ptr<double>

+add_on_binder Teuchos::ParameterList def_ParameterList_member_functions
-function Teuchos::ParameterList::sublist
-function Teuchos::ParameterList::set
-function Teuchos::ParameterList::get
+add_on_binder Teuchos::ParameterList def_ParameterList_member_functions
+include_for_namespace Tpetra <PyTrilinos2_Tpetra_Custom.hpp>
+add_on_binder Tpetra::CrsGraph define_CrsGraph_member_functions
+include <PyTrilinos2_Tpetra_Types.hpp>
+add_on_binder Tpetra::CrsMatrix define_CrsMatrix_member_functions
+add_on_binder Tpetra::Vector define_Vector_member_functions
+add_on_binder Tpetra::MultiVector define_MultiVector_member_functions
-class Kokkos::View
-class Kokkos::DualView
-class Teuchos::ParameterListAcceptorDefaultBase

-class Teuchos::PromotionTraits
-function Teuchos::Serializer::createObj
-function Teuchos::TimeMonitor::computeGlobalTimerStatistics
-class Teuchos::CommandLineProcessor::enum_opt_data_t
-class Teuchos::CommandLineProcessor::TimeMonitorSurrogate
-class Teuchos::RawWorkspace
-function Teuchos::getRawMpiComm
-function Teuchos::rcp_dynamic_cast
-function Teuchos::ptr_dynamic_cast
-class Teuchos::BLAS
-class Teuchos::Describable

###############################################################################
# Kokkos
-namespace Kokkos::Impl
-namespace KokkosBlas
-include <Cuda/Kokkos_Cuda_Instance.hpp>
Expand Down Expand Up @@ -91,88 +145,71 @@
-include <OpenMP/Kokkos_OpenMP_Instance.hpp>
-include <impl/Kokkos_HostThreadTeam.hpp>
-include <impl/Kokkos_InitializationSettings.hpp>
-class Teuchos::ArrayView<ompi_status_public_t>
-class Teuchos::ArrayView<const ompi_status_public_t>
-class Teuchos::Serializer
-class Teuchos::PromotionTraits
-class Teuchos::CommandLineProcessor
-class Teuchos::Ptr<Teuchos::RCP<Teuchos::CommRequest<int> >>
-class Teuchos::ArrayView<Teuchos::RCP<Teuchos::CommRequest<int> >>
-class Teuchos::TimeMonitor
-include <View/Kokkos_ViewLegacy.hpp>
-include <View/Kokkos_ViewTraits.hpp>
-include <View/Kokkos_ViewMapping.hpp>
-class Kokkos::Device
-class Kokkos::DualView
-class Kokkos::DynRankView
-class Kokkos::View

###############################################################################
# Tpetra
+add_on_binder_for_namespace Tpetra def_initialize_Kokkos
+include_for_namespace Tpetra <PyTrilinos2_Tpetra_Custom.hpp>
+include <PyTrilinos2_Tpetra_Types.hpp>
+add_on_binder Tpetra::CrsGraph define_CrsGraph_member_functions
+add_on_binder Tpetra::Vector define_Vector_member_functions
+add_on_binder Tpetra::MultiVector define_MultiVector_member_functions
+add_on_binder Tpetra::CrsMatrix define_CrsMatrix_member_functions
-namespace Tpetra::Details
-namespace Tpetra::Import_Util
-namespace Teuchos::Details
-namespace Tpetra::KokkosRefactor
-function Tpetra::Details::isInterComm
-function Tpetra::SrcDistObject::operator=
-function Teuchos::TimeMonitor::computeGlobalTimerStatistics
-function Teuchos::mpiErrorCodeToString
-class Teuchos::CommandLineProcessor::enum_opt_data_t
-class Teuchos::CommandLineProcessor::TimeMonitorSurrogate
-class Teuchos::RawWorkspace
-class std::ostream
-class std::basic_ios
-class std::vector
-class std::map
-class std::integral_constant
-class std::integral_constant
-class std::iterator
-class std::reverse_iterator
-class Teuchos::ArrayView
-class Teuchos::ArrayRCP
-class Teuchos::Array
-class Teuchos::Describable
-class Teuchos::BLAS
-function Teuchos::fancyOStream
-class Teuchos::ParameterListAcceptorDefaultBase
-class Teuchos::Dependency
-class Teuchos::DependencySheet
-class Teuchos::MpiCommRequestBase<int>
-function Teuchos::getRawMpiComm
-class Teuchos::OpaqueWrapper<ompi_communicator_t *>
-class Teuchos::OpaqueWrapper<ompi_errhandler_t *>
-function Teuchos::Details::setMpiReductionOp
-function Teuchos::Details::getMpiOpForEReductionType
-function Tpetra::Details::extractMpiCommFromTeuchos
-class Teuchos::OpaqueWrapper<ompi_errhandler_t *>
-function Teuchos::Details::setMpiReductionOp
-function Teuchos::Details::getMpiOpForEReductionType
-function Tpetra::Details::PackCrsGraphImpl::packRow
-class Tpetra::BlockCrsMatrix
-class Tpetra::Details::DistributorPlan
-class Tpetra::Directory
-class Tpetra::Distribution
-class Tpetra::Distribution1D
-class Tpetra::Distribution2D
-class Tpetra::DistributionLowerTriangularBlock
-class Tpetra::DistributionMM
-class Tpetra::DistributionType
-namespace Xpetra
-class Thyra::VectorSpaceBase
-class Thyra::ProductVectorSpace
-class Tpetra::Details::DistributorPlan
-class Tpetra::Distributor
-class Tpetra::DistributionType
-class Tpetra::LowerTriangularBlockOperator
-class Tpetra::distributorSendTypes
-class Tpetra::ImportExportData
-function Tpetra::Details::extractMpiCommFromTeuchos
-function Tpetra::Details::isInterComm
-function Tpetra::Details::PackCrsGraphImpl::packRow
-function Tpetra::SrcDistObject::operator=

###############################################################################
# Xpetra
-namespace Xpetra

###############################################################################
# MueLu
-class MueLu::BaseClass
-class MueLu::Describable
-class MueLu::FactoryAcceptor
-class MueLu::FactoryBase
-class MueLu::FactoryFactory
-class MueLu::FactoryManagerBase
-class MueLu::FactoryManager
-class MueLu::FactoryBase
-class MueLu::FactoryManagerBase
-class MueLu::Hierarchy
-class MueLu::HierarchyManager
-class MueLu::Level
-class MueLu::TimeMonitor
-class MueLu::Describable
-class Kokkos::Device
-class Tpetra::DistributionType
-class Tpetra::Directory
-class Tpetra::Distribution
-class Tpetra::Distribution1D
-class Tpetra::Distribution2D
-class Tpetra::DistributionMM
-class Tpetra::DistributionLowerTriangularBlock
-class MueLu::BaseClass
-function Teuchos::rcp_dynamic_cast
-class Teuchos::VerboseObjectBase
-class MueLu::VerboseObject
-class Tpetra::BlockCrsMatrix
-class Kokkos::DynRankView
-class MueLu::VariableContainer
-class Tpetra::LowerTriangularBlockOperator
-class MueLu::Level
-class MueLu::Hierarchy
-class std::set
-class Teuchos::Ptr
-class MueLu::VerboseObject
+include <Stratimikos_MueLuHelpers.hpp>

###############################################################################
# Thyra
+include <Thyra_VectorSpaceFactoryBase.hpp>
-class Thyra::ProductVectorSpace
-class Thyra::RowStatLinearOpBase
-class Thyra::ScaledLinearOpBase
-class Thyra::LinearOpSourceBase
+include_for_namespace Thyra <PyTrilinos2_Thyra_Custom.hpp>
+add_on_binder Thyra::LinearOpWithSolveBase define_solve
Loading
Loading