-
Notifications
You must be signed in to change notification settings - Fork 45
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
EPIC: Initial TriBITS Modernization and Generalization #367
Comments
CC: @keita, @fnrizzi, @marcinwrobel1986, @MikolajZuzek The merge of the branch '63-merge-tpls-packages-1' to TriBITS 'master' is now complete (see #63 (comment)). I can now continue with some much more aggressive refactorings towards #63 and #299. Next, I will do some more clean up refactorings to improve understanding of the code base to make the next steps easier. |
FYI: I talked with @gsjaardema about this plan and added the sub-story above:
That should be easy once we can build Trilinos against pre-installed Kokkos and KokkosKernels. |
xSDK members are looking for a way to import Kokkos' build information. They need optimization flags and compiler (nvcc_wrapper for CUDA build) information. |
@keitat, from Spack? This is not a Spack-related epic. This epic will enable more flexibility with Spack but does not directly address Spack packages. |
FYI: The move to modern CMake targets for TriBITS and Trilinos is complete. See #299 (comment). |
FYI: We have a demonstration ready for pre-building/installing Kokkos, then KokkosKernels, then the rest of Trilinos. This demos the building and installing Kokkos and KokkosKernels separately as their own Spack packages and then building the rest of Trilinos as its own Spack package (and similar use cases). (And we can further partition Trilinos into smaller Spack packages in the future as we would like starting with SEACAS.) All of the critical changes on the TriBITS side should be complete. The question is what to do about the current incompatibilities between the TriBITS builds of Kokkos and KokkosKernels and the native non-TriBITS CMake builds for those packages and what is expected by downstream Trilinos packages. (Changes can be made on either side to accommodate some of the differences.) |
FYI, with the merge of PR: Trilinos 'develop' and Kokkos 'develop' now support pre-isntalling Kokkos with the native Kokkos non-TriBITS CMake build system. |
FYI: Here is the Spack PR that has the Trilinos Spack package using the Kokkos Spack package: |
FYI: Looks like the changes to KokkosKernels was made to allow it to be installed using its native non-TriBITS CMake build system. See: |
I am going to descope to remove the SEACAS work (but I think has been implicitly done by SEACAS developers). Looking at: it does not looks like the SEACAS Spack package has yet been updated to use external Kokkos or Zoltan, but someone added a ToDo for this a long time ago: I don't think that is actually hard to do at this point, and SEACAS has already been updated for external Pamgen (see here and the commit sandialabs/seacas@2d4c7ce). |
Closing as complete (which should have been done a long time ago ...) |
Closing as complete (which should have been done a long time ago ...) |
FYI: Someone updated the Spack build of Trilinos to use external KokkosKernels last week. See: |
Description
This Epic will plan for and track the execution of the TriBITS modernization effort to address the immediate needs of Trilinos, Kokkos and the ECP Spack ecosystem. The goal is to do this in a way that will provide as much backward compatibility as reasonably possible to avoid having to rewrite thousands of
CMakeLists.txt
and*.cmake
files in Trilinos, Drekar, Charon2, CASL VERA and other projects using TriBITS or breaking external customers using Trilinos as much as is reasonable.Refactoring plan
Makefile.export.*
files and push to Trilinos ‘develop’.TribitsDevelopersGuide.*
intoTribitsUsersGuide.*
andTribitsMaintainersGuide.*
(in support of EPIC: Merge TriBITS concepts and implementation of Packages and TPLs #63 and Move to modern CMake target-based propagation of build information #299).package.py
file to depend onkokkos
version4.1.00
(4.1.0) when using Trilinos 'develop' (and all future releases of Trilinos starting with 14.4) ... See [email protected] +kokkos: use external kokkos spack/spack#39397[ ] Refactor the independent SEACAS TriBITS project to pull in pre-installed Kokkos and Zoltan packages (will allow separate Kokkos, KokkosKernels, SEACAS and remaining Trilinos packages to co-exist as Spack packages and linked into single downstream packages and APPs).... Descoped (see below)The text was updated successfully, but these errors were encountered: