-
Notifications
You must be signed in to change notification settings - Fork 564
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
Ifpack2::BlockRelaxation: Remove ETI for ContainerType != Ifpack2::Container #551
Labels
Comments
mhoemmen
added
stage: in progress
Work on the issue has started
stage: in review
Primary work is completed and now is just waiting for human review and/or test feedback
and removed
stage: in progress
Work on the issue has started
labels
Aug 12, 2016
mhoemmen
pushed a commit
that referenced
this issue
Aug 12, 2016
@trilinos/ifpack2 Our recent changes to Ifpack2::BlockRelaxation mean that users no longer need to provide its second template parameter, ContainerType. Its default value, Ifpack2::Container<row_matrix_type>, allows run-time selection of the container type through the input ParameterList to setParameters. Before this commit, users could still use a specific ContainerType (not the "generic" Ifpack2::Container<row_matrix_type>) to specify the container type at compile time. This commit removes explicit template instantiation for ContainerType types other than Ifpack2::Container<row_matrix_type>. This change means that users MUST NOT specify the optional second template parameter of BlockRelaxation. Users MUST now select the container type at run time via the "relaxation: container" parameter. This is a BACKWARDS INCOMPATIBLE CHANGE, which we consider acceptable because of the very small number of users of BlockRelaxation. This change reduces the number of BlockRelaxation instantiations by 5x. This will reduce build times and library and executable sizes. In an MPI_DEBUG dynamic shared libraries build with Clang 3.5 on Mac, this reduces the Ifpack2 library size from 20474328 B to 19285120 B. We use a static_assert to ensure that ContainerType = Ifpack2::Container<row_matrix_type>. This makes the interface the same, whether or not ETI is enabled. Build/Test Cases Summary Enabled Packages: Ifpack2, TpetraCore Disabled Packages: FEI,PyTrilinos,Moertel,STK,SEACAS,ThreadPool,OptiPack,ShyLU,Rythmos,NOX 0) MPI_DEBUG => passed: passed=125,notpassed=0 (3.97 min) 1) SERIAL_RELEASE => passed: passed=97,notpassed=0 (17.49 min) Other local commits for this build/test group: 2820350, ded273d, 118e1b5, b9c1fef
mhoemmen
removed
the
stage: in review
Primary work is completed and now is just waiting for human review and/or test feedback
label
Aug 12, 2016
Just pushed a fix. |
bartlettroscoe
added a commit
that referenced
this issue
Dec 13, 2022
Origin repo remote tracking branch: 'github/master' Origin repo remote repo URL: 'github = git@github.com:TriBITSPub/TriBITS.git' Git describe: Vera4.0-RC1-start-1400-g07aeef0f At commit: commit 07aeef0f9f10d928b614214c1c8b38af0eecc6d4 Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Mon Dec 12 19:20:48 2022 -0700 Summary: Remove assert of local matches cache export var (#551)
bartlettroscoe
added a commit
to bartlettroscoe/Trilinos
that referenced
this issue
May 2, 2023
…1545) This was copied from the TriBITS commit: commit 07aeef0f9f10d928b614214c1c8b38af0eecc6d4 (rab-github/551-fix-assert-enable-var-export) Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Mon Dec 12 19:20:48 2022 -0700 Remove assert of local matches cache export var (trilinos#551) and minor modifications were made to make it stand alone and remove the assert function that is not needed. This will be used to make the Kokkos native CMake build system produce the correct set(Kokkos_<info> ???) statements in the installed KokkosConfig.cmake file.
bartlettroscoe
added a commit
to bartlettroscoe/Trilinos
that referenced
this issue
May 3, 2023
…1545) This was copied from the TriBITS commit: commit 07aeef0f9f10d928b614214c1c8b38af0eecc6d4 (rab-github/551-fix-assert-enable-var-export) Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Mon Dec 12 19:20:48 2022 -0700 Remove assert of local matches cache export var (trilinos#551) and minor modifications were made to make it stand alone and remove the assert function that is not needed. This will be used to make the Kokkos native CMake build system produce the correct set(Kokkos_<info> ???) statements in the installed KokkosConfig.cmake file.
bartlettroscoe
added a commit
to bartlettroscoe/Trilinos
that referenced
this issue
May 3, 2023
…1545) This was copied from the TriBITS commit: commit 07aeef0f9f10d928b614214c1c8b38af0eecc6d4 (rab-github/551-fix-assert-enable-var-export) Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Mon Dec 12 19:20:48 2022 -0700 Remove assert of local matches cache export var (trilinos#551) and minor modifications were made to make it stand alone and remove the assert function that is not needed. This will be used to make the Kokkos native CMake build system produce the correct set(Kokkos_<info> ???) statements in the installed KokkosConfig.cmake file.
bartlettroscoe
added a commit
to bartlettroscoe/Trilinos
that referenced
this issue
May 4, 2023
…1545) This was copied from the TriBITS commit: commit 07aeef0f9f10d928b614214c1c8b38af0eecc6d4 (rab-github/551-fix-assert-enable-var-export) Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Mon Dec 12 19:20:48 2022 -0700 Remove assert of local matches cache export var (trilinos#551) and minor modifications were made to make it stand alone and remove the assert function that is not needed. This will be used to make the Kokkos native CMake build system produce the correct set(Kokkos_<info> ???) statements in the installed KokkosConfig.cmake file.
bartlettroscoe
added a commit
to bartlettroscoe/Trilinos
that referenced
this issue
May 5, 2023
…1545) This was copied from the TriBITS commit: commit 07aeef0f9f10d928b614214c1c8b38af0eecc6d4 (rab-github/551-fix-assert-enable-var-export) Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Mon Dec 12 19:20:48 2022 -0700 Remove assert of local matches cache export var (trilinos#551) and minor modifications were made to make it stand alone and remove the assert function that is not needed. This will be used to make the Kokkos native CMake build system produce the correct set(Kokkos_<info> ???) statements in the installed KokkosConfig.cmake file.
bartlettroscoe
added a commit
to bartlettroscoe/Trilinos
that referenced
this issue
May 5, 2023
…1545) This was copied from the TriBITS commit: commit 07aeef0f9f10d928b614214c1c8b38af0eecc6d4 (rab-github/551-fix-assert-enable-var-export) Author: Roscoe A. Bartlett <rabartl@sandia.gov> Date: Mon Dec 12 19:20:48 2022 -0700 Remove assert of local matches cache export var (trilinos#551) and minor modifications were made to make it stand alone and remove the assert function that is not needed. This will be used to make the Kokkos native CMake build system produce the correct set(Kokkos_<info> ???) statements in the installed KokkosConfig.cmake file.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@trilinos/ifpack2 Recent changes to Ifpack2::BlockRelaxation (thanks @brian-kelley !) mean that we no longer need to do explicit template instantiation (ETI) for BlockRelaxation with
ContainerType != Ifpack2::Container<Tpetra::RowMatrix<...> >
. This change would reduce the number of BlockRelaxation instantiations by 5x.The text was updated successfully, but these errors were encountered: