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

Get pre-installed Kokkos and Trilinos working with native Kokkos non-TriBITS CMake build system (#11545) #11863

Merged
merged 12 commits into from
Jun 6, 2023

Conversation

bartlettroscoe
Copy link
Member

@bartlettroscoe bartlettroscoe commented May 8, 2023

@trilinos/framework, @trilinos/kokkos, @trilinos/kokkos-kernels

Description

This is part of:

This PR branches off of and continues the changes from the 11545-kokkos-no-subpkgs branch from PR:

This PR branch 11545-kokkos-use-native-cmake contains minimal additions to Kokkos to allow it to be built and installed using its native non-TriBITS CMake build system and have it work with building downstream Trilinos packages. The main additions to the native Kokkos non-TriBITS CMake build system are:

  • Adds a Kokkos::all_libs target to the installed KokkosTargets.cmake file. (That is needed for package-based auto linking in downstream TriBITS packages.)
  • Adds set() statements for a bunch of Kokkos options Kokkos_<INFO> to the installed KokkosConfig.cmake file. (Many of those vars are needed by downstream Trilinos packages like Tpetra.)

This Trilinos PR branch includes an updated snapshot of TriBITS 'master' that includes the TriBITS PR:

This TriBITS update allows Trilinos to build against pre-installed Kokkos with this updated native CMake build system's installed KokkosConfig.cmake file (which lacks <UpstreamPkg>::all_libs targets and upstream <UpstreamPkg>Config.cmake files).

Local testing

Testing this with Trilinos can be done using the Trilinos PR GenConfig configurations along with the simulation driver scripts in:

on the branch:

This was tested for the Trilinos repository state:

$ cd Trilinos/

$ gitdist-status 
--------------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                         | Branch                        | Tracking Branch                          | C | M | ? |
|----|----------------------------------|-------------------------------|------------------------------------------|---|---|---|
|  0 | Trilinos (Base)                  | 11545-kokkos-use-native-cmake | rab-github/11545-kokkos-use-native-cmake |   |   |   |
|  1 | packages/framework/GenConfig     | HEAD                          |                                          |   |   |   |
|  2 | packages/framework/son-ini-files | master                        | glex-tril/master                         |   |   |   |
|  3 | packages/framework/srn-ini-files | master                        | origin/master                            |   |   |   |
--------------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions 
*** Base Git Repo: Trilinos
6e09a9fc9b50d62f6d1dd78dcdf40144ef82d401 [Tue May 30 11:45:22 2023 -0600] <[email protected]>
Merge branch 'tribits_github_snapshot' into 11545-kokkos-use-native-cmake (trilinos/Trilinos#11545)
*** Git Repo: packages/framework/GenConfig
924a08af66f0a0573b5dd1128179731489339aec [Wed Jun 15 15:55:48 2022 +0000] <[email protected]>
Merge branch 'del-gen-symlinks' into 'master'
*** Git Repo: packages/framework/son-ini-files
341d4592119e317ff218ce41c6cb029f3d68f5f6 [Tue May 30 19:05:59 2023 +0000] <[email protected]>
Merge branch 'sebrown/container' into 'master'
*** Git Repo: packages/framework/srn-ini-files
d77522637212afcfef4c0c4167d4f82ea630738e [Thu May 25 08:40:54 2023 -0600] <[email protected]>
Merge branch 'cts1_config' into 'master'

And the build directory is set up as:

$ cd <someBuildBaseDir>/

$ git clone -o glex-rabartl [email protected]:rabartl/demo-external-kokkos.git

$ cd demo-external-kokkos/

$ git checkout --track glex-rabartl/11545-kokkos-use-native-cmake

This is the basic setup use for driving the build/test/install simulations.

See the actually builds and results in comments below (links are in the Remaining Task).

Remaining Tasks:

@bartlettroscoe bartlettroscoe added pkg: Kokkos TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework PA: Framework Issues that fall under the Trilinos Framework Product Area AT: WIP Causes the PR autotester to not test the PR. (Remove to allow testing to occur.) labels May 8, 2023
@bartlettroscoe
Copy link
Member Author

bartlettroscoe commented May 8, 2023

demo-external-kokkos testing for clang-11.0.1

I tested the repo setup shown above with non-CUDA clang.11.0.1 build using the 'demo-external-kokkos' build and test drivers in:

This posted to CDash at:

showing results:

image

NOTE: The Kokkos build does not show up because it is not a TriBITS build anymore in this simulation.

The details for this are given below.

demo-external-kokkos details for clang-11.0.1

For the Trilinos repos state:

$ ssh crf450

$ cd /home/rabartl/Trilinos.base/Trilinos/

$ gitdist-status 
------------------------------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                         | Branch                                | Tracking Branch                                  | C | M | ? |
|----|----------------------------------|---------------------------------------|--------------------------------------------------|---|---|---|
|  0 | Trilinos (Base)                  | 11545-kokkos-use-native-cmake         | rab-github/11545-kokkos-use-native-cmake         |   |   |   |
|  1 | packages/framework/GenConfig     | 11545-kokkos-no-subpkgs               | glex-rabartl/11545-kokkos-no-subpkgs             |   |   |   |
|  2 | packages/framework/son-ini-files | 11545-kokkos-no-subpkgs               | glex-rabartl/11545-kokkos-no-subpkgs             |   |   |   |
|  3 | packages/framework/srn-ini-files | master                                | origin/master                                    |   |   |   |
|  4 | TriBITS                          | 63-combined-package-data-structures-7 | rab-github/63-combined-package-data-structures-7 |   |   |   |
------------------------------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions 
*** Base Git Repo: Trilinos
ecc56096e4744c450f94bc333583272e93ee82d2 [Fri May 5 09:39:50 2023 -0600] <[email protected]>
Export Kokkos_<info> vars in KokkosConfig.cmake (trilinos/Trilinos#11545)
*** Git Repo: packages/framework/GenConfig
9babb4c9e3f5d042d59ab56db1fde38ec767e55c [Mon May 1 18:59:44 2023 -0600] <[email protected]>
Run script remove_kokkos_subpackages_from_trilinos_packages_r.sh (trilinos/Trilinos#11545)
*** Git Repo: packages/framework/son-ini-files
96dd830d0b6ec7b4df5fcd28a4ac8a46b0f6df18 [Mon May 1 19:00:56 2023 -0600] <[email protected]>
Run script remove_kokkos_subpackages_from_trilinos_packages_r.sh (trilinos/Trilinos#11545)
*** Git Repo: packages/framework/srn-ini-files
e396158070f7a54321c2c8a4f60964bee783bae4 [Tue Apr 4 11:59:51 2023 -0600] <[email protected]>
Merge branch 'tmranse/rhel7HPWS' into 'master'
*** Git Repo: TriBITS
27b118d0dfe7cb83e4c9b06d2633c014a57d80a6 [Wed May 3 17:45:30 2023 -0600] <[email protected]>
Make processing of TPLs work for not fully TriBITS-compliant external packages (#63)

Running the 'demo-external-kokkos' simulation using the Trilinos PR GenConfig 'clang-11.0.1' build:

$ ssh crf450

$ cd /home/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos/

$ gitdist-status 
-----------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                    | Branch                        | Tracking Branch                            | C | M | ? |
|----|-----------------------------|-------------------------------|--------------------------------------------|---|---|---|
|  0 | demo-external-kokkos (Base) | 11545-kokkos-use-native-cmake | glex-rabartl/11545-kokkos-use-native-cmake |   |   |   |
-----------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions 
*** Base Git Repo: demo-external-kokkos
2623dd0d3b6d598dd827da541a902d2ef0415265 [Fri May 5 16:40:24 2023 -0600] <[email protected]>
Add running of native Kokkos tests (trilinos/Trilinos#11545)

$ cat load-env.sh
export TRILINOS_DIR=/home/rabartl/Trilinos.base/Trilinos
. load-env.clang-11.0.1.sh

$ . load-env.sh

$ rm -r Build_Kokkos/core Build_KokkosKernels/packages Build_Trilinos/packages

$ ./run_build_and_install_stages.sh


Doing build and install stage for Kokkos

/ascldap/users/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos/Build_Kokkos

Running: ./do-configure  &> configure.out

real	0m9.793s
user	0m6.559s
sys	0m3.265s

Running: make &> make.out


real	1m59.588s
user	51m37.146s
sys	1m38.827s

Running: ctest -j16 &> ctest.out


real	1m22.978s
user	1m57.896s
sys	1m44.985s

100% tests passed, 0 tests failed out of 32

Running: make install &> make.install.out

real	0m0.352s
user	0m0.207s
sys	0m0.082s

Doing build and install stage for KokkosKernels

/ascldap/users/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos/Build_KokkosKernels

Running: ./do-configure  &> configure.out

real	0m10.665s
user	0m8.857s
sys	0m6.975s

Running: make dashboard &> make.dashboard.out

real	3m8.678s
user	16m26.311s
sys	0m35.804s

100% tests passed, 0 tests failed out of 17

Running: make install &> make.install.out

real	0m0.226s
user	0m0.121s
sys	0m0.098s

Doing build and install stage for Trilinos

/ascldap/users/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos/Build_Trilinos

Running: ./do-configure  &> configure.out

real	1m47.705s
user	1m2.593s
sys	0m44.938s

Running: make dashboard &> make.dashboard.out

real	154m39.587s
user	2327m19.685s
sys	70m22.818s

100% tests passed, 0 tests failed out of 3434

Running: make install &> make.install.out

real	0m11.650s
user	0m2.890s
sys	0m2.814s

That submitted results to CDash at:

Now the configure output for the TriBITS Build of KokkosKernels here shows:

Adjust the set of internal and external packages:

-- Treating internal package Kokkos as EXTERNAL because TPL_ENABLE_Kokkos=ON
-- NOTE: DLlib is directly downstream from a TriBITS-compliant external package Kokkos
-- NOTE: Pthread is directly downstream from a TriBITS-compliant external package Kokkos

and:

Getting information for all enabled TriBITS-compliant or upstream external packages/TPLs in reverse order ...

Processing enabled external package/TPL: Kokkos (enabled explicitly, disable with -DTPL_ENABLE_Kokkos=OFF)
-- Calling find_package(Kokkos) for TriBITS-compliant external package
-- Enabled Kokkos devices: SERIAL
Processing enabled external package/TPL: DLlib (enabled explicitly, disable with -DTPL_ENABLE_DLlib=OFF)
-- The external package/TPL DLlib was *NOT* defined by a downstream TriBITS-compliant external package and must be found again in below loop
Processing enabled external package/TPL: Pthread (enabled explicitly, disable with -DTPL_ENABLE_Pthread=OFF)
-- The external package/TPL Pthread was *NOT* defined by a downstream TriBITS-compliant external package and must be found again in below loop

Getting information for all remaining enabled external packages/TPLs ...

Processing enabled external package/TPL: Pthread (enabled explicitly, disable with -DTPL_ENABLE_Pthread=OFF)
-- Pthread_LIBRARY_NAMES=''
<...>
Processing enabled external package/TPL: DLlib (enabled explicitly, disable with -DTPL_ENABLE_DLlib=OFF)
-- Attempting to tentatively enable TPL 'DLlib' ...
-- DLlib_LIBRARY_NAMES='dl'
-- TPL_DLlib_LIBRARIES='/usr/lib64/libdl.so'
-- Attempt to tentatively enable TPL 'DLlib' passed!
<...>

The above shows that TriBITS allows for the non-fully TriBITS-compliant external package Kokkos to not define the Pthread or DLlib TPLs so they had to be found again.

Trilinos configure output is shown here showing:

Adjust the set of internal and external packages:

-- Treating internal package KokkosKernels as EXTERNAL because TPL_ENABLE_KokkosKernels=ON
-- Treating internal package Kokkos as EXTERNAL because downstream package KokkosKernels being treated as EXTERNAL
-- NOTE: DLlib is indirectly downstream from a TriBITS-compliant external package
-- NOTE: SuperLU is directly downstream from a TriBITS-compliant external package KokkosKernels
-- NOTE: ParMETIS is indirectly downstream from a TriBITS-compliant external package
-- NOTE: LAPACK is directly downstream from a TriBITS-compliant external package KokkosKernels
-- NOTE: BLAS is indirectly downstream from a TriBITS-compliant external package
-- NOTE: Pthread is indirectly downstream from a TriBITS-compliant external package

and

Getting information for all enabled TriBITS-compliant or upstream external packages/TPLs in reverse order ...

Processing enabled external package/TPL: KokkosKernels (enabled explicitly, disable with -DTPL_ENABLE_KokkosKernels=OFF)
-- Calling find_package(KokkosKernels) for TriBITS-compliant external package
-- Enabled Kokkos devices: SERIAL
Processing enabled external package/TPL: Kokkos (enabled explicitly, disable with -DTPL_ENABLE_Kokkos=OFF)
-- The external package/TPL Kokkos was defined by a downstream TriBITS-compliant external package already processed
Processing enabled external package/TPL: DLlib (enabled explicitly, disable with -DTPL_ENABLE_DLlib=OFF)
-- The external package/TPL DLlib was *NOT* defined by a downstream TriBITS-compliant external package and must be found again in below loop
Processing enabled external package/TPL: SuperLU (enabled explicitly, disable with -DTPL_ENABLE_SuperLU=OFF)
-- The external package/TPL SuperLU was defined by a downstream TriBITS-compliant external package already processed
Processing enabled external package/TPL: ParMETIS (enabled explicitly, disable with -DTPL_ENABLE_ParMETIS=OFF)
-- The external package/TPL ParMETIS was defined by a downstream TriBITS-compliant external package already processed
Processing enabled external package/TPL: LAPACK (enabled explicitly, disable with -DTPL_ENABLE_LAPACK=OFF)
-- The external package/TPL LAPACK was defined by a downstream TriBITS-compliant external package already processed
Processing enabled external package/TPL: BLAS (enabled explicitly, disable with -DTPL_ENABLE_BLAS=OFF)
-- The external package/TPL BLAS was defined by a downstream TriBITS-compliant external package already processed
Processing enabled external package/TPL: Pthread (enabled explicitly, disable with -DTPL_ENABLE_Pthread=OFF)
-- The external package/TPL Pthread was *NOT* defined by a downstream TriBITS-compliant external package and must be found again in below loop

Getting information for all remaining enabled external packages/TPLs ...

Processing enabled external package/TPL: Pthread (enabled explicitly, disable with -DTPL_ENABLE_Pthread=OFF)
-- Pthread_LIBRARY_NAMES=''
<...>
Processing enabled external package/TPL: DLlib (enabled explicitly, disable with -DTPL_ENABLE_DLlib=OFF)
-- Attempting to tentatively enable TPL 'DLlib' ...
-- DLlib_LIBRARY_NAMES='dl'
-- TPL_DLlib_LIBRARIES='/usr/lib64/libdl.so'
-- Attempt to tentatively enable TPL 'DLlib' passed!

So we see the same type of behavior with Kokkos and the dependent TPLs Pthread and DLlib. NOTE: Once we switch to the native CMake build system for KokkosKernels, we will likely see the same behavior with its dependent TPLs BLAS, LAPACK, and SupeLU. That means that we will need to make sure that the Trilinos TriBITS builds finds the exactly the same TPLs as was found when building KokkosKerenls with the non-TriBITS build.

@bartlettroscoe
Copy link
Member Author

demo-external-kokkos testing for cuda

I tested the repo setup shown above with non-CUDA cuda-11.4.2-uvm-off build using the 'demo-external-kokkos' build and test drivers in:

This posted to CDash at:

showing results:

image

Most of the 10 failing tests shown above were timeouts. When I ran the failing test against with ctest -j1 --rerun-failed they all passed except for:

The following tests FAILED:
        3680 - TrilinosInstallTests_find_package_Trilinos (Failed)
        3681 - TrilinosInstallTests_simpleBuildAgainstTrilinos (Failed)

Those tests fail because they call find_package(Trilinos) (which calls find_package(Kokkos) internally) which fails the compiler assertion:

CMake Error at /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/install_kokkos/lib64/cmake/Kokkos/KokkosConfig.cmake:89 (kokkos_compiler_is_nvcc):
  kokkos_compiler_is_nvcc Function invoked with incorrect arguments for
  function named: kokkos_compiler_is_nvcc
Call Stack (most recent call first):
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TeuchosCore/TeuchosCoreConfig.cmake:175 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Teuchos/TeuchosConfig.cmake:172 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TpetraCore/TpetraCoreConfig.cmake:230 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Tpetra/TpetraConfig.cmake:185 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TrilinosInstallTests/TrilinosInstallTestsConfig.cmake:131 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Trilinos/TrilinosConfig.cmake:123 (include)

So when using pre-installed Kokkos with CUDA, you can't get the compilers from Trilinos by calling find_package(Trilinos). You need to specify the compilers and have CMake define the compilers before calling find_package(Trilinos). (But that is true for find_package(CUDAToolkist) anyway.)

The full details for this are given below.

demo-external-kokkos details for cuda-11.4.2-uvm-off

Now to do the CUDA build on 'ascicgpu17'. The machine is totally empty right now.

The Trilinos repo state and versions are:

$ ssh ascicgpu17

$ cd /fgs/rabartl/Trilinos.base/Trilinos/

$ gitdist-status 
------------------------------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                         | Branch                                | Tracking Branch                                  | C | M | ? |
|----|----------------------------------|---------------------------------------|--------------------------------------------------|---|---|---|
|  0 | Trilinos (Base)                  | 11545-kokkos-use-native-cmake         | rab-github/11545-kokkos-use-native-cmake         |   |   |   |
|  1 | packages/framework/GenConfig     | 11545-kokkos-no-subpkgs               | glex-rabartl/11545-kokkos-no-subpkgs             |   |   |   |
|  2 | packages/framework/son-ini-files | 11545-kokkos-no-subpkgs               | glex-rabartl/11545-kokkos-no-subpkgs             |   |   |   |
|  3 | packages/framework/srn-ini-files | master                                | origin/master                                    |   |   |   |
|  4 | TriBITS                          | 63-combined-package-data-structures-7 | rab-github/63-combined-package-data-structures-7 |   |   |   |
------------------------------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions 
*** Base Git Repo: Trilinos
ecc56096e4744c450f94bc333583272e93ee82d2 [Fri May 5 09:39:50 2023 -0600] <[email protected]>
Export Kokkos_<info> vars in KokkosConfig.cmake (trilinos/Trilinos#11545)
*** Git Repo: packages/framework/GenConfig
9babb4c9e3f5d042d59ab56db1fde38ec767e55c [Mon May 1 18:59:44 2023 -0600] <[email protected]>
Run script remove_kokkos_subpackages_from_trilinos_packages_r.sh (trilinos/Trilinos#11545)
*** Git Repo: packages/framework/son-ini-files
96dd830d0b6ec7b4df5fcd28a4ac8a46b0f6df18 [Mon May 1 19:00:56 2023 -0600] <[email protected]>
Run script remove_kokkos_subpackages_from_trilinos_packages_r.sh (trilinos/Trilinos#11545)
*** Git Repo: packages/framework/srn-ini-files
e396158070f7a54321c2c8a4f60964bee783bae4 [Tue Apr 4 11:59:51 2023 -0600] <[email protected]>
Merge branch 'tmranse/rhel7HPWS' into 'master'
*** Git Repo: TriBITS
27b118d0dfe7cb83e4c9b06d2633c014a57d80a6 [Wed May 3 17:45:30 2023 -0600] <[email protected]>
Make processing of TPLs work for not fully TriBITS-compliant external packages (#63)

Running the 'demo-external-kokkos' simulation using the Trilinos PR GenConfig 'cuda-11.4.2-uvm-off' build:

$ ssh ascicgpu17

$ cd /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/

$ gitdist-status 
----------------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                         | Branch                        | Tracking Branch                            | C | M | ? |
|----|----------------------------------|-------------------------------|--------------------------------------------|---|---|---|
|  0 | demo-external-kokkos-cuda (Base) | 11545-kokkos-use-native-cmake | glex-rabartl/11545-kokkos-use-native-cmake |   |   |   |
----------------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions 
*** Base Git Repo: demo-external-kokkos-cuda
2623dd0d3b6d598dd827da541a902d2ef0415265 [Fri May 5 16:40:24 2023 -0600] <[email protected]>
Add running of native Kokkos tests (trilinos/Trilinos#11545)

$ cat load-env.sh
export TRILINOS_DIR=/fgs/rabartl/Trilinos.base/Trilinos
. load-env.cuda-11.4.2-uvm-off.sh

$ rm -r Build_Kokkos/packages Build_Kokkos/core Build_KokkosKernels/packages Build_Trilinos/packages

$ time ./run_build_and_install_stages.sh


Doing build and install stage for Kokkos

/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Kokkos

Running: ./do-configure  &> configure.out

real	0m42.673s
user	0m17.333s
sys	0m13.825s

Running: make &> make.out


real	2m25.447s
user	141m27.539s
sys	32m38.779s

Running: ctest -j16 &> ctest.out


real	2m15.624s
user	10m15.765s
sys	7m26.159s

95% tests passed, 2 tests failed out of 37

Running: make install &> make.install.out

real	0m1.990s
user	0m0.083s
sys	0m0.513s

Doing build and install stage for KokkosKernels

/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_KokkosKernels

Running: ./do-configure  &> configure.out

real	0m24.852s
user	0m12.490s
sys	0m10.731s

Running: make dashboard &> make.dashboard.out

real	44m42.196s
user	137m37.534s
sys	19m42.587s

100% tests passed, 0 tests failed out of 24

Running: make install &> make.install.out

real	0m4.605s
user	0m0.412s
sys	0m2.942s

Doing build and install stage for Trilinos

/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos

Running: ./do-configure  &> configure.out

real	2m39.798s
user	1m12.666s
sys	0m53.097s

Running: make dashboard &> make.dashboard.out

real	512m29.759s
user	4374m35.947s
sys	1690m21.130s

99% tests passed, 10 tests failed out of 3681

Running: make install &> make.install.out

real	1m49.315s
user	0m10.185s
sys	1m6.347s

That submitted to CDash:

The failing Kokkos tests were:

95% tests passed, 2 tests failed out of 37

Total Test time (real) = 135.35 sec

The following tests FAILED:
	  7 - Kokkos_CoreUnitTest_CudaTimingBased (Failed)
	 11 - Kokkos_CoreUnitTest_Default (Failed)
Errors while running CTest

The test Kokkos_CoreUnitTest_CudaTimingBased failed showing:

[ RUN      ] cuda.debug_serial_execution
Time For1: 0.000992 For2: 0.002332 ForSerial: 0.002279
/fgs/rabartl/Trilinos.base/Trilinos/packages/kokkos/core/unit_test/cuda/TestCuda_DebugSerialExecution.cpp:113: Failure
Value of: passed_par_for
  Actual: false
Expected: true
[  FAILED  ] cuda.debug_serial_execution (16 ms)

There is no clue why that test failed. If the timing was off, what was the timing tolerance?

The test Kokkos_CoreUnitTest_Default failed showing:

[ RUN      ] defaultdevicetype.shared_space
Page size as reported by os: 4096 bytes 
Allocating 100 pages of memory in SharedSpace.
Behavior found: 
SharedSpace is as fast as local space on repeated access: 0, we expect true 

Please look at the following timings. The first access in a different ExecutionSpace is not evaluated for the test. As we expect the memory to migrate during the first access it might have a higher cycle count than subsequent accesses, depending on your hardware. If the cycles are more than 1.5 times the cycles for pure local memory access, we assume a page migration happened.

################SHARED SPACE####################
DeviceExecutionSpace timings of run 0:
TimingResult contains 10 results:
Duration of loop 0 is 1624 clock cycles. Migration assumed.
Duration of loop 1 is 1637 clock cycles. Migration assumed.
Duration of loop 2 is 1735 clock cycles. Migration assumed.
Duration of loop 3 is 1928 clock cycles. Migration assumed.
Duration of loop 4 is 1740 clock cycles. Migration assumed.
Duration of loop 5 is 1953 clock cycles. Migration assumed.
Duration of loop 6 is 1771 clock cycles. Migration assumed.
Duration of loop 7 is 1632 clock cycles. Migration assumed.
Duration of loop 8 is 1842 clock cycles. Migration assumed.
Duration of loop 9 is 1563 clock cycles. Migration assumed.
HostExecutionSpace timings of run 0:
TimingResult contains 10 results:
Duration of loop 0 is 53 clock cycles. Migration assumed.
Duration of loop 1 is 20 clock cycles. 
Duration of loop 2 is 20 clock cycles. 
Duration of loop 3 is 20 clock cycles. 
Duration of loop 4 is 20 clock cycles. 
Duration of loop 5 is 20 clock cycles. 
Duration of loop 6 is 20 clock cycles. 
Duration of loop 7 is 20 clock cycles. 
Duration of loop 8 is 20 clock cycles. 
Duration of loop 9 is 20 clock cycles. 
DeviceExecutionSpace timings of run 1:
TimingResult contains 10 results:
Duration of loop 0 is 449801 clock cycles. Migration assumed.
Duration of loop 1 is 1532 clock cycles. Migration assumed.
Duration of loop 2 is 1748 clock cycles. Migration assumed.
Duration of loop 3 is 1660 clock cycles. Migration assumed.
Duration of loop 4 is 1644 clock cycles. Migration assumed.
Duration of loop 5 is 1665 clock cycles. Migration assumed.
Duration of loop 6 is 1755 clock cycles. Migration assumed.
Duration of loop 7 is 2015 clock cycles. Migration assumed.
Duration of loop 8 is 1968 clock cycles. Migration assumed.
Duration of loop 9 is 1689 clock cycles. Migration assumed.
HostExecutionSpace timings of run 1:
TimingResult contains 10 results:
Duration of loop 0 is 54 clock cycles. Migration assumed.
Duration of loop 1 is 19 clock cycles. 
Duration of loop 2 is 20 clock cycles. 
Duration of loop 3 is 19 clock cycles. 
Duration of loop 4 is 20 clock cycles. 
Duration of loop 5 is 20 clock cycles. 
Duration of loop 6 is 20 clock cycles. 
Duration of loop 7 is 20 clock cycles. 
Duration of loop 8 is 20 clock cycles. 
Duration of loop 9 is 20 clock cycles. 
DeviceExecutionSpace timings of run 2:
TimingResult contains 10 results:
Duration of loop 0 is 6188239 clock cycles. Migration assumed.
Duration of loop 1 is 1630 clock cycles. Migration assumed.
Duration of loop 2 is 1676 clock cycles. Migration assumed.
Duration of loop 3 is 1646 clock cycles. Migration assumed.
Duration of loop 4 is 1621 clock cycles. Migration assumed.
Duration of loop 5 is 1764 clock cycles. Migration assumed.
Duration of loop 6 is 1649 clock cycles. Migration assumed.
Duration of loop 7 is 1549 clock cycles. Migration assumed.
Duration of loop 8 is 1784 clock cycles. Migration assumed.
Duration of loop 9 is 1697 clock cycles. Migration assumed.
HostExecutionSpace timings of run 2:
TimingResult contains 10 results:
Duration of loop 0 is 48 clock cycles. Migration assumed.
Duration of loop 1 is 20 clock cycles. 
Duration of loop 2 is 20 clock cycles. 
Duration of loop 3 is 20 clock cycles. 
Duration of loop 4 is 20 clock cycles. 
Duration of loop 5 is 20 clock cycles. 
Duration of loop 6 is 20 clock cycles. 
Duration of loop 7 is 20 clock cycles. 
Duration of loop 8 is 20 clock cycles. 
Duration of loop 9 is 20 clock cycles. 
################LOCAL SPACE####################
TimingResult contains 10 results:
Duration of loop 0 is 1237 clock cycles. 
Duration of loop 1 is 1221 clock cycles. 
Duration of loop 2 is 1061 clock cycles. 
Duration of loop 3 is 1214 clock cycles. 
Duration of loop 4 is 1032 clock cycles. 
Duration of loop 5 is 273 clock cycles. 
Duration of loop 6 is 273 clock cycles. 
Duration of loop 7 is 866 clock cycles. 
Duration of loop 8 is 275 clock cycles. 
Duration of loop 9 is 1328 clock cycles. 
TimingResult contains 10 results:
Duration of loop 0 is 20 clock cycles. 
Duration of loop 1 is 20 clock cycles. 
Duration of loop 2 is 20 clock cycles. 
Duration of loop 3 is 20 clock cycles. 
Duration of loop 4 is 20 clock cycles. 
Duration of loop 5 is 20 clock cycles. 
Duration of loop 6 is 20 clock cycles. 
Duration of loop 7 is 20 clock cycles. 
Duration of loop 8 is 20 clock cycles. 
Duration of loop 9 is 20 clock cycles. 
/fgs/rabartl/Trilinos.base/Trilinos/packages/kokkos/core/unit_test/TestSharedSpace.cpp:216: Failure
Value of: passed
  Actual: false
Expected: true
[  FAILED  ] defaultdevicetype.shared_space (367 ms)

Looking at the source code for the tests, both of these tests appear to be timing releated tests.

The Trilinos results with failures showed:

99% tests passed, 10 tests failed out of 3681

Subproject Time Summary:
Adelus                     = 3347.93 sec*proc (57 tests)
Amesos                     =  24.19 sec*proc (13 tests)
Amesos2                    = 114.94 sec*proc (13 tests)
Anasazi                    = 917.46 sec*proc (104 tests)
AztecOO                    =  23.14 sec*proc (17 tests)
Belos                      = 2792.08 sec*proc (167 tests)
Compadre                   = 135.56 sec*proc (32 tests)
Domi                       = 297.42 sec*proc (125 tests)
Epetra                     =  70.72 sec*proc (64 tests)
EpetraExt                  =  19.49 sec*proc (10 tests)
FEI                        =  44.52 sec*proc (43 tests)
Galeri                     =   4.29 sec*proc (7 tests)
Ifpack                     =  80.66 sec*proc (48 tests)
Ifpack2                    = 1103.04 sec*proc (57 tests)
Intrepid                   = 119.17 sec*proc (143 tests)
Intrepid2                  = 5100.44 sec*proc (348 tests)
Isorropia                  =  10.36 sec*proc (6 tests)
Komplex                    =   1.10 sec*proc (1 test)
Krino                      =  47.04 sec*proc (1 test)
ML                         =  69.18 sec*proc (35 tests)
MiniTensor                 =   1.72 sec*proc (2 tests)
Moertel                    =   2.91 sec*proc (3 tests)
MueLu                      = 8165.49 sec*proc (125 tests)
NOX                        = 781.65 sec*proc (112 tests)
Panzer                     = 23417.08 sec*proc (218 tests)
Phalanx                    =  66.43 sec*proc (38 tests)
Pike                       =   4.61 sec*proc (7 tests)
Piro                       = 900.74 sec*proc (19 tests)
ROL                        = 4330.92 sec*proc (203 tests)
RTOp                       =  19.56 sec*proc (24 tests)
Rythmos                    =  62.57 sec*proc (83 tests)
SEACAS                     = 320.48 sec*proc (66 tests)
STK                        = 693.00 sec*proc (21 tests)
Sacado                     = 217.35 sec*proc (311 tests)
Shards                     =   2.96 sec*proc (4 tests)
ShyLU_DD                   = 1512.41 sec*proc (68 tests)
ShyLU_Node                 =  24.13 sec*proc (10 tests)
Stokhos                    = 210.98 sec*proc (84 tests)
Stratimikos                = 219.25 sec*proc (49 tests)
Teko                       = 1362.94 sec*proc (19 tests)
Tempus                     = 169.45 sec*proc (158 tests)
Teuchos                    = 223.98 sec*proc (141 tests)
Thyra                      =  99.81 sec*proc (82 tests)
Tpetra                     = 2687.19 sec*proc (283 tests)
TrilinosATDMConfigTests    =  70.91 sec*proc (12 tests)
TrilinosBuildStats         =   1.02 sec*proc (2 tests)
TrilinosCouplings          =  33.62 sec*proc (22 tests)
TrilinosFrameworkTests     =   8.28 sec*proc (8 tests)
TrilinosInstallTests       = 127.06 sec*proc (3 tests)
Triutils                   =   3.72 sec*proc (2 tests)
Xpetra                     = 187.07 sec*proc (19 tests)
Zoltan                     = 170.79 sec*proc (18 tests)
Zoltan2                    = 1907.80 sec*proc (174 tests)

Label Time Summary:
ConvergenceTest    =  18.59 sec*proc (4 tests)
IntegrationTest    = 106.48 sec*proc (19 tests)
UtilityTest        =   1.31 sec*proc (1 test)
batched            =   3.77 sec*proc (2 tests)
convergence        =  18.59 sec*proc (4 tests)
divergencefree     =   3.77 sec*proc (2 tests)
integration        = 106.48 sec*proc (19 tests)
kdtree             =   9.18 sec*proc (8 tests)
kokkos             = 107.79 sec*proc (20 tests)
manifold           =  18.59 sec*proc (4 tests)
nanoflann          =   9.18 sec*proc (8 tests)
qr                 =   3.77 sec*proc (2 tests)
staggered          =   7.61 sec*proc (3 tests)
utility            =   1.31 sec*proc (1 test)
vector             =   7.60 sec*proc (4 tests)

Total Test time (real) = 4215.93 sec

The following tests FAILED:
	2172 - Intrepid2_unit-test_Discretization_Integration_test_01_CUDA_DOUBLE_MPI_1 (Timeout)
	2174 - Intrepid2_unit-test_Discretization_Integration_test_03_CUDA_DOUBLE_MPI_1 (Timeout)
	2175 - Intrepid2_unit-test_Discretization_Integration_test_04_CUDA_DOUBLE_MPI_1 (Timeout)
	2177 - Intrepid2_unit-test_Discretization_Integration_test_07_CUDA_DOUBLE_MPI_1 (Timeout)
	2246 - Intrepid2_unit-test_Projection_test_interpolation_projection_QUAD_CUDA_DOUBLE_MPI_1 (Timeout)
	3548 - PanzerAdaptersSTK_main_driver_meshmotion (Timeout)
	3571 - PanzerAdaptersSTK_MixedPoissonExample-ConvTest-Hex-Order-3 (Failed)
	3574 - PanzerAdaptersSTK_PoissonInterfaceTpetra_2d_diffsideids_MPI_1 (Timeout)
	3680 - TrilinosInstallTests_find_package_Trilinos (Failed)
	3681 - TrilinosInstallTests_simpleBuildAgainstTrilinos (Failed)

So most of those failures were timeouts.

Rerunning just the failured tests one test at a time:

$ cd Build_Trilinos/

$ time ctest -j1 --rerun-failed &> ctest.rerun-failed.out
Test project /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos
      Start 2172: Intrepid2_unit-test_Discretization_Integration_test_01_CUDA_DOUBLE_MPI_1
 1/11 Test #2172: Intrepid2_unit-test_Discretization_Integration_test_01_CUDA_DOUBLE_MPI_1 ..............   Passed    7.02 sec
      Start 2174: Intrepid2_unit-test_Discretization_Integration_test_03_CUDA_DOUBLE_MPI_1
 2/11 Test #2174: Intrepid2_unit-test_Discretization_Integration_test_03_CUDA_DOUBLE_MPI_1 ..............   Passed    6.18 sec
      Start 2175: Intrepid2_unit-test_Discretization_Integration_test_04_CUDA_DOUBLE_MPI_1
 3/11 Test #2175: Intrepid2_unit-test_Discretization_Integration_test_04_CUDA_DOUBLE_MPI_1 ..............   Passed    5.56 sec
      Start 2177: Intrepid2_unit-test_Discretization_Integration_test_07_CUDA_DOUBLE_MPI_1
 4/11 Test #2177: Intrepid2_unit-test_Discretization_Integration_test_07_CUDA_DOUBLE_MPI_1 ..............   Passed    5.51 sec
      Start 2246: Intrepid2_unit-test_Projection_test_interpolation_projection_QUAD_CUDA_DOUBLE_MPI_1
 5/11 Test #2246: Intrepid2_unit-test_Projection_test_interpolation_projection_QUAD_CUDA_DOUBLE_MPI_1 ...   Passed   11.30 sec
      Start 3548: PanzerAdaptersSTK_main_driver_meshmotion
 6/11 Test #3548: PanzerAdaptersSTK_main_driver_meshmotion ..............................................   Passed   76.87 sec
      Start 3571: PanzerAdaptersSTK_MixedPoissonExample-ConvTest-Hex-Order-3
 7/11 Test #3571: PanzerAdaptersSTK_MixedPoissonExample-ConvTest-Hex-Order-3 ............................   Passed   59.63 sec
      Start 3574: PanzerAdaptersSTK_PoissonInterfaceTpetra_2d_diffsideids_MPI_1
 8/11 Test #3574: PanzerAdaptersSTK_PoissonInterfaceTpetra_2d_diffsideids_MPI_1 .........................   Passed    9.41 sec
      Start 3679: TrilinosInstallTests_doInstall
 9/11 Test #3679: TrilinosInstallTests_doInstall ........................................................   Passed  121.37 sec
      Start 3680: TrilinosInstallTests_find_package_Trilinos
10/11 Test #3680: TrilinosInstallTests_find_package_Trilinos ............................................***Failed  Required regular expression not found. Regex=[OVERALL FINAL RESULT: TEST PASSED .TrilinosInstallTests_find_package_Trilinos.
]  1.44 sec
      Start 3681: TrilinosInstallTests_simpleBuildAgainstTrilinos
11/11 Test #3681: TrilinosInstallTests_simpleBuildAgainstTrilinos .......................................***Failed  Required regular expression not found. Regex=[OVERALL FINAL RESULT: TEST PASSED .TrilinosInstallTests_simpleBuildAgainstTrilinos.
]  5.79 sec

82% tests passed, 2 tests failed out of 11

Subproject Time Summary:
Intrepid2               =  35.58 sec*proc (5 tests)
Panzer                  = 401.67 sec*proc (3 tests)
TrilinosInstallTests    = 128.61 sec*proc (3 tests)

Total Test time (real) = 316.94 sec

The following tests FAILED:
        3680 - TrilinosInstallTests_find_package_Trilinos (Failed)
        3681 - TrilinosInstallTests_simpleBuildAgainstTrilinos (Failed)
Errors while running CTest

So why is find_package() failing? That is not good.

The find_package() command failes with the error:

================================================================================

TEST_0

Configure a dummy project that calls find_package(Trilinos)

Running: "/projects/sems/install/rhel7-x86_64/sems/utility/cmake/3.24.3/gcc/8.3.0/base/pwyrvxm/bin/cmake" "-DCMAKE_PREFIX_PATH=/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install" "/fgs/rabartl/Trilinos.base/Trilinos/packages/TrilinosInstallTests/find_package_Trilinos"

  Running in working directory "/ceeGPFS/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/packages/TrilinosInstallTests/TrilinosInstallTests_find_package_Trilinos"

--------------------------------------------------------------------------------

-- Enabled Kokkos devices: CUDA;SERIAL
CMake Error at /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/install_kokkos/lib64/cmake/Kokkos/KokkosConfig.cmake:89 (kokkos_compiler_is_nvcc):
  kokkos_compiler_is_nvcc Function invoked with incorrect arguments for
  function named: kokkos_compiler_is_nvcc
Call Stack (most recent call first):
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TeuchosCore/TeuchosCoreConfig.cmake:175 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Teuchos/TeuchosConfig.cmake:172 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TpetraCore/TpetraCoreConfig.cmake:230 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Tpetra/TpetraConfig.cmake:185 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TrilinosInstallTests/TrilinosInstallTestsConfig.cmake:131 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Trilinos/TrilinosConfig.cmake:123 (include)
  CMakeLists.txt:8 (find_package)


-- kokkos_launch_compiler is enabled globally. C++ compiler commands with -DKOKKOS_DEPENDENCE will be redirected to the appropriate compiler for Kokkos
-- Found CUDAToolkit: /projects/sems/install/rhel7-x86_64/sems/v2/tpl/cuda/11.4.2/gcc/10.1.0/base/ex2t3fn/include (found version "11.4.120") 
CMake Warning at /projects/sems/install/rhel7-x86_64/sems/utility/cmake/3.24.3/gcc/8.3.0/base/pwyrvxm/share/cmake-3.24/Modules/FindCUDAToolkit.cmake:922 (message):
  Could not find librt library, needed by CUDA::cudart_static
Call Stack (most recent call first):
  /projects/sems/install/rhel7-x86_64/sems/utility/cmake/3.24.3/gcc/8.3.0/base/pwyrvxm/share/cmake-3.24/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/install_kokkos-kernels/lib/external_packages/CUSPARSE/CUSPARSEConfig.cmake:14 (find_dependency)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/install_kokkos-kernels/lib/cmake/KokkosKernels/KokkosKernelsConfig.cmake:154 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TpetraCore/TpetraCoreConfig.cmake:243 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Tpetra/TpetraConfig.cmake:185 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TrilinosInstallTests/TrilinosInstallTestsConfig.cmake:131 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Trilinos/TrilinosConfig.cmake:123 (include)
  CMakeLists.txt:8 (find_package)

...

-- Configuring incomplete, errors occurred!
See also "/ceeGPFS/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/packages/TrilinosInstallTests/TrilinosInstallTests_find_package_Trilinos/CMakeFiles/CMakeOutput.log".

--------------------------------------------------------------------------------

TEST_0: Return code = 1
TEST_0: Pass criteria = Match all REGEX {Trilinos_FOUND = '1'} [PASSED]
TEST_0: Pass criteria = Match all REGEX {-- Configuring done} [FAILED]
TEST_0: Pass criteria = Match all REGEX {-- Generating done} [FAILED]
TEST_0: Pass criteria = ALWAYS_FAIL_ON_NONZERO_RETURN [FAILED]
TEST_0: Result = FAILED

The line of code that failed was:

    # run test to see if CMAKE_CXX_COMPILER=nvcc_wrapper
    kokkos_compiler_is_nvcc(IS_NVCC ${CMAKE_CXX_COMPILER})

The problem is that the find_package() test does not set a compiler at all so ${CMAKE_CXX_COMPILER} evaluates to the empty stirng. So we will need to add a C++ compiler to the find_package() test and it must be the NVCC compiler.

The test TrilinosInstallTests_simpleBuildAgainstTrilinos failed showing:

================================================================================

TEST_0

Configure simpleBuildAgainstTrilinos against local Trilinos installation

Running: "/projects/sems/install/rhel7-x86_64/sems/utility/cmake/3.24.3/gcc/8.3.0/base/pwyrvxm/bin/cmake" "-DCMAKE_PREFIX_PATH=/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install" "-DCMAKE_BUILD_TYPE=DEBUG" "/fgs/rabartl/Trilinos.base/Trilinos/demos/simpleBuildAgainstTrilinos"

  Running in working directory "/ceeGPFS/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/packages/TrilinosInstallTests/TrilinosInstallTests_simpleBuildAgainstTrilinos"

--------------------------------------------------------------------------------

-- Enabled Kokkos devices: CUDA;SERIAL
CMake Error at /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/install_kokkos/lib64/cmake/Kokkos/KokkosConfig.cmake:89 (kokkos_compiler_is_nvcc):
  kokkos_compiler_is_nvcc Function invoked with incorrect arguments for
  function named: kokkos_compiler_is_nvcc
Call Stack (most recent call first):
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TeuchosCore/TeuchosCoreConfig.cmake:175 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Teuchos/TeuchosConfig.cmake:172 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Trilinos/TrilinosConfig.cmake:123 (include)
  CMakeLists.txt:16 (find_package)


-- kokkos_launch_compiler is enabled globally. C++ compiler commands with -DKOKKOS_DEPENDENCE will be redirected to the appropriate compiler for Kokkos
-- Found CUDAToolkit: /projects/sems/install/rhel7-x86_64/sems/v2/tpl/cuda/11.4.2/gcc/10.1.0/base/ex2t3fn/include (found version "11.4.120") 
CMake Warning at /projects/sems/install/rhel7-x86_64/sems/utility/cmake/3.24.3/gcc/8.3.0/base/pwyrvxm/share/cmake-3.24/Modules/FindCUDAToolkit.cmake:922 (message):
  Could not find librt library, needed by CUDA::cudart_static
Call Stack (most recent call first):
  /projects/sems/install/rhel7-x86_64/sems/utility/cmake/3.24.3/gcc/8.3.0/base/pwyrvxm/share/cmake-3.24/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/install_kokkos-kernels/lib/external_packages/CUSPARSE/CUSPARSEConfig.cmake:14 (find_dependency)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/install_kokkos-kernels/lib/cmake/KokkosKernels/KokkosKernelsConfig.cmake:154 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/TpetraCore/TpetraCoreConfig.cmake:243 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/install/lib/cmake/Tpetra/TpetraConfig.cmake:185 (include)
  /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cu

...

-- Configuring incomplete, errors occurred!
See also "/ceeGPFS/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/packages/TrilinosInstallTests/TrilinosInstallTests_simpleBuildAgainstTrilinos/CMakeFiles/CMakeOutput.log".

--------------------------------------------------------------------------------

TEST_0: Return code = 1
TEST_0: Pass criteria = Match all REGEX {-- Configuring done} [FAILED]
TEST_0: Pass criteria = Match all REGEX {-- Generating done} [FAILED]
TEST_0: Pass criteria = ALWAYS_FAIL_ON_NONZERO_RETURN [FAILED]
TEST_0: Result = FAILED

================================================================================

So the problem in that case is that you have to define the compilers before you call find_package() Trilinos (same as for the 'find_package' tests).

So we need to decide if we will give up on showing users how to pull in compilers from find_package(Trilinos) and instead require them to define the compilers first, with NVCC being the compiler for CUDA!

@bartlettroscoe
Copy link
Member Author

Determine what to do with the failing TrilinosInstallTests tests with CUDA configuration

Talking with @jwillenbring yesterday, the correct path forward is to update the TrilinosInstallTests_find_package_Trilinos and TrilinosInstallTests_simpleBuildAgainstTrilinos tests to have to define the C++ compiler first and then call find_package(Trilinos). This will actually make the file simpleBuildAgainstTrilinos/CMakeLists.txt shorter and simpler and is more similar to how real Trilinos customers use TriBITS (at least if they are doing CUDA builds).

Origin repo remote tracking branch: 'github/master'
Origin repo remote repo URL: 'github = [email protected]:TriBITSPub/TriBITS.git'
Git describe: vera-release-3.5-start-1789-gb669da78

At commit:

commit 9e6f4b999cfc38fcc40475491dc962ae514c08f2
Author:  Roscoe A. Bartlett <[email protected]>
Date:    Thu May 11 13:36:23 2023 -0600
Summary: Fix some old misspellings caught by codespell tests (#63)
@bartlettroscoe bartlettroscoe changed the title WIP: Get pre-installed Kokkos and Trilinos working with native Kokkos non-TriBITS CMake build system (#11545) Get pre-installed Kokkos and Trilinos working with native Kokkos non-TriBITS CMake build system (#11545) May 13, 2023
@bartlettroscoe bartlettroscoe removed the AT: WIP Causes the PR autotester to not test the PR. (Remove to allow testing to occur.) label May 13, 2023
@bartlettroscoe
Copy link
Member Author

demo-external-kokkos testing for clang-11.0.1 (2023-05-13)

After snaphshotting updated TriBITS into this Trilinos branch 11545-kokkos-use-native-cmake and making some other updates I ran the clang-11.0.1 build again using external Kokkos (using updated native Kokkos CMake build system) using the driver in:

gitlab-ex.sandia.gov/rabartl/demo-external-kokkos/-/tree/11545-kokkos-use-native-cmake

(see exact details below).

This submitted to CDash at:

showing:

image

NOTE: The Kokkos build does not show up because it is not a TriBITS build anymore in this simulation.

The details for this are given below.

demo-external-kokkos details for clang-11.0.1 (click to expand)

For the Trilinos repos where:

$ ssh crf450

$ cd /home/rabartl/Trilinos.base/Trilinos/

$ gitdist-status 
--------------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                         | Branch                        | Tracking Branch                          | C | M | ? |
|----|----------------------------------|-------------------------------|------------------------------------------|---|---|---|
|  0 | Trilinos (Base)                  | 11545-kokkos-use-native-cmake | rab-github/11545-kokkos-use-native-cmake |   |   |   |
|  1 | packages/framework/GenConfig     | HEAD                          |                                          |   |   |   |
|  2 | packages/framework/son-ini-files | master                        | glex-tril/master                         |   |   |   |
|  3 | packages/framework/srn-ini-files | master                        | origin/master                            |   |   |   |
--------------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions 
*** Base Git Repo: Trilinos
a38a94477a838461262f5ddd47ab9ebc6504c70a [Sat May 13 12:47:57 2023 -0600] <[email protected]>
Merge branch 'tribits_github_snapshot' into 11545-kokkos-use-native-cmake (#11545)
*** Git Repo: packages/framework/GenConfig
924a08af66f0a0573b5dd1128179731489339aec [Wed Jun 15 15:55:48 2022 +0000] <[email protected]>
Merge branch 'del-gen-symlinks' into 'master'
*** Git Repo: packages/framework/son-ini-files
6c30e48f45bf0d839f0fdbc143f4f3f69cae671a [Mon Jul 18 16:33:38 2022 +0000] <[email protected]>
Merge branch 'cuda-11-config' into 'master'
*** Git Repo: packages/framework/srn-ini-files
e396158070f7a54321c2c8a4f60964bee783bae4 [Tue Apr 4 11:59:51 2023 -0600] <[email protected]>
Merge branch 'tmranse/rhel7HPWS' into 'master'

Running the 'clang-11.0.1' (re)build on 'crf450':

$ cd /home/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos/

$ gitdist-status 
----------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                    | Branch                        | Tracking Branch                           | C | M | ? |
|----|-----------------------------|-------------------------------|-------------------------------------------|---|---|---|
|  0 | demo-external-kokkos (Base) | 11545-kokkos-use-native-cmake | cgl-rabartl/11545-kokkos-use-native-cmake |   |   |   |
----------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions
*** Base Git Repo: demo-external-kokkos-cuda
988ae4600e834ffb2ff8ef60271097830c404bca [Sat May 13 13:50:07 2023 -0600] <[email protected]>
Use ninja instead of make for install (trilinos/Trilinos#11545)

$ cat load-env.sh
export TRILINOS_DIR=/home/rabartl/Trilinos.base/Trilinos
. load-env.clang-11.0.1.sh

$ . load-env.sh

$ ./run_build_and_install_stages.sh &> run_build_and_install_stages.out

This produced:

Doing build and install stage for Kokkos

/ascldap/users/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos/Build_Kokkos

Running: ./do-configure  &> configure.out

real	0m2.296s
user	0m1.445s
sys	0m0.806s

Running: make &> make.out


real	0m0.006s
user	0m0.003s
sys	0m0.003s

Running: ctest -j16 &> ctest.out


real	0m0.062s
user	0m0.050s
sys	0m0.011s

0% tests passed, 32 tests failed out of 32

Running: ninja -j16 install &> make.install.out

real	2m21.257s
user	34m27.055s
sys	0m59.105s

Doing build and install stage for KokkosKernels

/ascldap/users/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos/Build_KokkosKernels

Running: ./do-configure  &> configure.out

real	0m8.968s
user	0m8.045s
sys	0m7.006s

Running: make dashboard &> make.dashboard.out

real	3m4.028s
user	15m42.289s
sys	0m30.305s

100% tests passed, 0 tests failed out of 17

Running: ninja -j16 install &> make.install.out

real	0m0.205s
user	0m0.130s
sys	0m0.076s

Doing build and install stage for Trilinos

/ascldap/users/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos/Build_Trilinos

Running: ./do-configure  &> configure.out

real	1m40.519s
user	1m0.547s
sys	0m42.878s

Running: make dashboard &> make.dashboard.out

real	148m25.229s
user	2231m45.735s
sys	61m40.219s

100% tests passed, 0 tests failed out of 3436

Running: ninja -j16 install &> make.install.out

real	0m9.391s
user	0m2.458s
sys	0m2.520s

and was submited to the CDash site at:

@bartlettroscoe
Copy link
Member Author

demo-external-kokkos testing for cuda-11.4.2-uvm-off (2023-05-13)

After snaphshotting updated TriBITS into this Trilinos branch 11545-kokkos-use-native-cmake and making some other updates I ran the cuda-11.4.2-uvm-off build again using external Kokkos (using updated native Kokkos CMake build system) using the driver in:

(see exact details below).

This submitted to CDash at:

showing:

image

NOTE: The Kokkos build does not show up because it is not a TriBITS build anymore in this simulation.

NOTE: The one failing test was:

	3305 - ROL_example_PinT_parabolic-control_AugmentedSystem_test_MPI_2 (Timeout)

When I ran that test again alone, it passed.

The details for this are given below.

demo-external-kokkos details for cuda-11.4.2-uvm-off (click to expand)

The Trilinos repos were:

$ ssh ascicgpu17

$ cd /fgs/rabartl/Trilinos.base/Trilinos/

$ gitdist-status 
--------------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                         | Branch                        | Tracking Branch                          | C | M | ? |
|----|----------------------------------|-------------------------------|------------------------------------------|---|---|---|
|  0 | Trilinos (Base)                  | 11545-kokkos-use-native-cmake | rab-github/11545-kokkos-use-native-cmake |   |   |   |
|  1 | packages/framework/GenConfig     | HEAD                          |                                          |   |   |   |
|  2 | packages/framework/son-ini-files | master                        | glex-tril/master                         |   |   |   |
|  3 | packages/framework/srn-ini-files | master                        | cgl-tril/master                          |   |   |   |
--------------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions 
*** Base Git Repo: Trilinos
a38a94477a838461262f5ddd47ab9ebc6504c70a [Sat May 13 12:47:57 2023 -0600] <[email protected]>
Merge branch 'tribits_github_snapshot' into 11545-kokkos-use-native-cmake (#11545)
*** Git Repo: packages/framework/GenConfig
924a08af66f0a0573b5dd1128179731489339aec [Wed Jun 15 15:55:48 2022 +0000] <[email protected]>
Merge branch 'del-gen-symlinks' into 'master'
*** Git Repo: packages/framework/son-ini-files
6c30e48f45bf0d839f0fdbc143f4f3f69cae671a [Mon Jul 18 16:33:38 2022 +0000] <[email protected]>
Merge branch 'cuda-11-config' into 'master'
*** Git Repo: packages/framework/srn-ini-files
e396158070f7a54321c2c8a4f60964bee783bae4 [Tue Apr 4 11:59:51 2023 -0600] <[email protected]>
Merge branch 'tmranse/rhel7HPWS' into 'master'

Running the 'cuda-11.4.2-uvm-off' build simulation on 'ascicgpu17':

$ ssh ascicgpu17

$ /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/

$ gitdist-status 
---------------------------------------------------------------------------------------------------------------------------------
| ID | Repo Dir                         | Branch                        | Tracking Branch                           | C | M | ? |
|----|----------------------------------|-------------------------------|-------------------------------------------|---|---|---|
|  0 | demo-external-kokkos-cuda (Base) | 11545-kokkos-use-native-cmake | cgl-rabartl/11545-kokkos-use-native-cmake |   |   |   |
---------------------------------------------------------------------------------------------------------------------------------

$ gitdist-repo-versions
*** Base Git Repo: demo-external-kokkos-cuda
988ae4600e834ffb2ff8ef60271097830c404bca [Sat May 13 13:50:07 2023 -0600] <[email protected]>
Use ninja instead of make for install (trilinos/Trilinos#11545)

$ cat load-env.sh
export TRILINOS_DIR=/fgs/rabartl/Trilinos.base/Trilinos
. load-env.cuda-11.4.2-uvm-off.sh

$ . load-env.sh

$ set | grep ^CTEST_
CTEST_BUILD_FLAGS=-j16
CTEST_PARALLEL_LEVEL=4

$ time ./run_build_and_install_stages.sh &> run_build_and_install_stages.out

real    598m42.637s
user    4041m43.608s
sys     1504m32.627s

That produced:


Doing build and install stage for Kokkos

/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Kokkos

Running: ./do-configure  &> configure.out

real	0m8.440s
user	0m3.032s
sys	0m3.099s

Running: make &> make.out


real	0m0.005s
user	0m0.001s
sys	0m0.003s

Running: ctest -j4 &> ctest.out


real	2m45.452s
user	5m8.749s
sys	4m16.115s

100% tests passed, 0 tests failed out of 37

Running: ninja -j16 install &> make.install.out

real	0m3.822s
user	0m1.131s
sys	0m1.130s

Doing build and install stage for KokkosKernels

/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_KokkosKernels

Running: ./do-configure  &> configure.out

real	0m23.945s
user	0m12.710s
sys	0m10.898s

Running: make dashboard &> make.dashboard.out

real	3m18.929s
user	5m18.818s
sys	1m48.223s

100% tests passed, 0 tests failed out of 24

Running: ninja -j16 install &> make.install.out

real	0m0.797s
user	0m0.044s
sys	0m0.173s

Doing build and install stage for Trilinos

/fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos

Running: ./do-configure  &> configure.out

real	3m2.081s
user	1m11.610s
sys	0m51.458s

Running: make dashboard &> make.dashboard.out

real	587m6.179s
user	4029m37.116s
sys	1496m14.996s

99% tests passed, 1 tests failed out of 3683

Running: ninja -j16 install &> make.install.out

real	1m52.870s
user	0m10.386s
sys	1m6.496s

submitting to CDash at:

The one failing test was:

	3305 - ROL_example_PinT_parabolic-control_AugmentedSystem_test_MPI_2 (Timeout)

I reran just that one test:

$ cd Build_Trilinos/packages/rol/

$ ctest -R ROL_example_PinT_parabolic-control_AugmentedSystem_test_MPI_2
Test project /fgs/rabartl/Trilinos.base/BUILDS/PR/demo-external-kokkos-cuda/Build_Trilinos/packages/rol
    Start 155: ROL_example_PinT_parabolic-control_AugmentedSystem_test_MPI_2
1/1 Test #155: ROL_example_PinT_parabolic-control_AugmentedSystem_test_MPI_2 ...   Passed    2.82 sec

100% tests passed, 0 tests failed out of 1

Label Time Summary:
ROL    =   5.65 sec*proc (1 test)

Total Test time (real) =   3.06 sec

So running with ctest -j4 is still too much for avoiding timeouts on that machine.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request.

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: Trilinos_PR_gcc-8.3.0

  • Build Num: 2246
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-serial

  • Build Num: 779
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-v2-gnu-8.3.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-debug

  • Build Num: 771
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_clang-11.0.1

  • Build Num: 771
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-11.0.1-openmpi-1.10.1-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 2002
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 1773
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_intel-2021.3

  • Build Num: 411
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-2021.3-sems-openmpi-4.0.5_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Using Repos:

Repo: TRILINOS (trilinos/Trilinos)
  • Branch: 11545-kokkos-use-native-cmake
  • SHA: a38a944
  • Mode: TEST_REPO

Pull Request Author: bartlettroscoe

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED

Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run.

Pull Request Auto Testing has FAILED (click to expand)

Build Information

Test Name: Trilinos_PR_gcc-8.3.0

  • Build Num: 2246
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-openmp_release-debug_static_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-serial

  • Build Num: 779
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-v2-gnu-8.3.0-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_gcc-8.3.0-debug

  • Build Num: 771
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-8.3.0-openmpi-1.10.1-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_clang-11.0.1

  • Build Num: 771
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-clang-11.0.1-openmpi-1.10.1-serial_release-debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_python3

  • Build Num: 2002
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-gnu-7.2.0-anaconda3-serial_debug_shared_no-kokkos-arch_no-asan_no-complex_no-fpic_no-mpi_no-pt_no-rdc_no-uvm_deprecated-on_pr-framework
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL ascic
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_cuda-11.4.2-uvm-off

  • Build Num: 1773
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-cuda-11.4.2-sems-gnu-10.1.0-sems-openmpi-4.0.5_release_static_Volta70_no-asan_complex_no-fpic_mpi_pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL GPU
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561

Build Information

Test Name: Trilinos_PR_intel-2021.3

  • Build Num: 411
  • Status: FAILED

Jenkins Parameters

Parameter Name Value
FORCE_CLEAN true
GENCONFIG_BUILD_NAME rhel7_sems-intel-2021.3-sems-openmpi-4.0.5_release-debug_shared_no-kokkos-arch_no-asan_no-complex_fpic_mpi_no-pt_no-rdc_no-uvm_deprecated-on_no-package-enables
PR_LABELS pkg: Kokkos;TriBITS;PA: Framework
PULLREQUESTNUM 11863
PULLREQUEST_CDASH_TRACK Pull Request
TEST_REPO_ALIAS TRILINOS
TRILINOS_NODE_LABEL trilinos-any
TRILINOS_SOURCE_BRANCH 11545-kokkos-use-native-cmake
TRILINOS_SOURCE_REPO https://github.com/trilinos/Trilinos
TRILINOS_SOURCE_SHA a38a944
TRILINOS_SRN_CONFIG true
TRILINOS_TARGET_BRANCH develop
TRILINOS_TARGET_REPO https://github.com/trilinos/Trilinos
TRILINOS_TARGET_SHA a13d561


CDash Test Results for PR# 11863.


Wiki: How to Reproduce PR Testing Builds and Errors.

@bartlettroscoe
Copy link
Member Author

FYI: Note that only a small number of Kokkos_??? vars are used in Trilinos package CMake code beyond the basic backend vars as described in kokkos/kokkos#6138 (comment).

The Kokkos developers will work to get those missing vars added to the native KokkosConfig[Common].cmake file so we can remove the more generic code in commits d848e38 and ecc5609.

dalg24 and others added 7 commits May 30, 2023 11:13
…ilinos (#6157)

* Add Kokkos::all_libs alias target for compatibility with Trilinos

* Add comments and fixup for cmake version less than 3.18
…11545)

This makes the CUDA build work since KokkosConfig.cmake checks that the nvcc
compiler is being used when it is included.

This does not mean that customers still can't the compilers from
find_package(Trilinos), it is just that it will not work with CUDA.  This also
means we are no longer testing getting the compilers from Trilinos.  But given
that customers that use CUDA can't do that anyway, we should consider removing
the compilers from the TriBITS-generated <Package>Config.cmake and
<Project>Config.cmake files.
This commit does a few things:

* A removeInstall test is split off from the doInstall test

* A new simpleBuildAgainstTrilinos/CMakeLists.by_package.cmake file is created
  to show how to find the packages you want from Trilinos and not actually
  find Trilinos.

* New test simpleBuildAgainstTrilinos_by_package_build_tree_name is added
  which depends on removeInstall and points to the build tree.

This demonstrates and protects using Trilinos packages from the build tree and
how to find Trilinos by packages instead of as a big thing.
@@ -6,7 +6,12 @@
# upper-case version for use within

set(Kokkos_OPTIONS_NOT_TO_EXPORT
Kokkos_ENABLE_TESTS Kokkos_ENABLE_EXAMPLES)
Kokkos_ENABLE_BENCHMARKS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L9-14 changes correspond to kokkos/kokkos#6142 (merged)

@@ -31,7 +31,7 @@ FUNCTION(KOKKOS_TPL_OPTION PKG DEFAULT)
ENDIF()
ENDFUNCTION()

KOKKOS_TPL_OPTION(HWLOC Off)
KOKKOS_TPL_OPTION(HWLOC Off TRIBITS HWLOC)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L34 changes correspond to kokkos/kokkos#6176 (merged)

@@ -1,7 +1,5 @@
# Adding source directory to the build
LIST(APPEND KK_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/common/src)
LIST(APPEND KK_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/common/src/impl)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

L3-4 changes correspond to kokkos/kokkos-kernels#1844 (merged)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NOTE: This change to KokkosKernels is only needed to get the new test TrilinosInstallTests_simpleBuildAgainstTrilinos_by_package_build_tree to pass. (And see my comment above about that.)

@ndellingwood
Copy link
Contributor

@bartlettroscoe I went through the kokkos and kokkos-kernels changes in this PR to explicitly cross-reference with the PRs to their respective directories. All lines here are accounted for in merged PRs, but the changes in kokkos/kokkos#6138 are not present here, can you clarify if those changes should be present here?

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
THE LAST COMMIT TO THIS PULL REQUEST HAS BEEN REVIEWED, BUT NOT ACCEPTED OR REQUIRES CHANGES

@trilinos-autotester
Copy link
Contributor

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

@bartlettroscoe
Copy link
Member Author

@bartlettroscoe I went through the kokkos and kokkos-kernels changes in this PR to explicitly cross-reference with the PRs to their respective directories. All lines here are accounted for in merged PRs, but the changes in kokkos/kokkos#6138 are not present here, can you clarify if those changes should be present here?

@ndellingwood, the changes in kokkos/kokkos#6138 were pulled off of this Trilinos PR branch as described above and replaced with the newer merged Kokkos PRs. Therefore, the Kokkos patches in this Trilinos branch should be reflected with the merged Kokkos PRs (as described above).

Please let me know if you have any other questions. Otherwise, I think this PR should be ready to merge (and the next snapshot of Kokkkos taken off of the Kokkos 'develop' branch will not overwrite these changes).

Copy link
Contributor

@ndellingwood ndellingwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for all the work and effort on this @bartlettroscoe !

We typically do not support making changes directly to kokkos in Trilinos, preferring all changes to occur via release snapshot, but make an exception for this PR to allow these updates to be further tested and validated before the upcoming 4.1.0 release (which will clobber the kokkos and kokkos-kernels changes with identical changes already approved and merged to their respective repos)

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ ndellingwood ]!

@trilinos-autotester
Copy link
Contributor

Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged

@trilinos-autotester trilinos-autotester merged commit 7751ab4 into develop Jun 6, 2023
@trilinos-autotester
Copy link
Contributor

Merge on Pull Request# 11863: IS A SUCCESS - Pull Request successfully merged

@trilinos-autotester trilinos-autotester removed the AT: AUTOMERGE Causes the PR autotester to automatically merge the PR branch once approvals are completed label Jun 6, 2023
@bartlettroscoe
Copy link
Member Author

bartlettroscoe commented Jun 6, 2023

We typically do not support making changes directly to kokkos in Trilinos, preferring all changes to occur via release snapshot

Certainly you want to avoid making changes on the Trilinos side when using the snapshotting approach. But there will be times when changes on the Trilinos side will need to be made for various reasons.

Because Kokkos 'develop' does not maintain backward compatibility with the last release, there really is not much of an option. (But I guess I could have created a branch in the Kokkos repo and used that for this work instead of the version of Kokkos in Trilinos.)

bartlettroscoe added a commit that referenced this pull request Jun 7, 2023
The new test
`TrilinosInstallTests_simpleBuildAgainstTrilinos_by_package_build_tree` merged
from PR #11863 fails because the subdirs ${CMAKE_CURRENT_BINARY_DIR}/common
and ${CMAKE_CURRENT_SOURCE_DIR}/common because this CMakeLists.txt file
already sits in the kokkos-kernels/common/ subdir.

I don't know why this error did not happen with PR testing for PR #11863 but
this is clearly the right thing to do.
jmgate pushed a commit to tcad-charon/Trilinos that referenced this pull request Jun 7, 2023
…s:develop' (ab899a0).

* trilinos-develop: (22 commits)
  Remove non-existant subdir kokkos-kernels/common/common (trilinos#11921, trilinos#11863)
  Teuchos: Fixing cmake logic
  Teuchos: Fixing catch() issues with C++ language drift
  TrilinosSS: include <omp.h> (Fix trilinos#11867)
  MueLu hierarchical: Fix build error
  Tpetra: Changes to StaticView for Kokkos PTHREAD to THREADS change
  Teuchos: Automatically enabling Tecuhos_ENABLE_THREAD_SAFE if you have Kokkos THREADS or OPENMP for the host
  Stokhos:  Add missing KOKKOS_INLINE_FUNCTION to fix build errors on HIP
  Phalanx: Remove usage of undefined var Kokkos_INCLUDE_DIRS (trilinos#11545)
  Kokkos: Mark HWLOC as a TriBITS TPL as well (trilinos#11938)
  Update for removal of Kokkos subpackages and Kokkos test renamings (trilinos#11545, trilinos#11808)
  KokkosKernels: Remove non-existent common/src/[impl,tpls] include dirs (trilinos#11545)
  Add test simpleBuildAgainstTrilinos_by_package_build_tree_name (trilinos#11545)
  Pass in and define compilers before calling find_package(Trilinos) (trilinos#11545)
  Add `Kokkos::all_libs` alias target for compatibility with TriBITS/Trilinos (trilinos#6157)
  Export Kokkos_ENABLE_<OPTION> that are relevant
  Do not append to Kokkos_OPTIONS variables those in the do not export list
  Expand list of kokkos options not to export with cmake
  Tpetra: Don't use std::binary_function
  Tpetra: Fixing missing HIP tesT
  ...
jmgate pushed a commit to tcad-charon/Trilinos that referenced this pull request Jun 7, 2023
…s:develop' (ab899a0).

* trilinos-develop: (22 commits)
  Remove non-existant subdir kokkos-kernels/common/common (trilinos#11921, trilinos#11863)
  Teuchos: Fixing cmake logic
  Teuchos: Fixing catch() issues with C++ language drift
  TrilinosSS: include <omp.h> (Fix trilinos#11867)
  MueLu hierarchical: Fix build error
  Tpetra: Changes to StaticView for Kokkos PTHREAD to THREADS change
  Teuchos: Automatically enabling Tecuhos_ENABLE_THREAD_SAFE if you have Kokkos THREADS or OPENMP for the host
  Stokhos:  Add missing KOKKOS_INLINE_FUNCTION to fix build errors on HIP
  Phalanx: Remove usage of undefined var Kokkos_INCLUDE_DIRS (trilinos#11545)
  Kokkos: Mark HWLOC as a TriBITS TPL as well (trilinos#11938)
  Update for removal of Kokkos subpackages and Kokkos test renamings (trilinos#11545, trilinos#11808)
  KokkosKernels: Remove non-existent common/src/[impl,tpls] include dirs (trilinos#11545)
  Add test simpleBuildAgainstTrilinos_by_package_build_tree_name (trilinos#11545)
  Pass in and define compilers before calling find_package(Trilinos) (trilinos#11545)
  Add `Kokkos::all_libs` alias target for compatibility with TriBITS/Trilinos (trilinos#6157)
  Export Kokkos_ENABLE_<OPTION> that are relevant
  Do not append to Kokkos_OPTIONS variables those in the do not export list
  Expand list of kokkos options not to export with cmake
  Tpetra: Don't use std::binary_function
  Tpetra: Fixing missing HIP tesT
  ...
jmgate pushed a commit to tcad-charon/Trilinos that referenced this pull request Jun 7, 2023
…s:develop' (ab899a0).

* trilinos-develop: (22 commits)
  Remove non-existant subdir kokkos-kernels/common/common (trilinos#11921, trilinos#11863)
  Teuchos: Fixing cmake logic
  Teuchos: Fixing catch() issues with C++ language drift
  TrilinosSS: include <omp.h> (Fix trilinos#11867)
  MueLu hierarchical: Fix build error
  Tpetra: Changes to StaticView for Kokkos PTHREAD to THREADS change
  Teuchos: Automatically enabling Tecuhos_ENABLE_THREAD_SAFE if you have Kokkos THREADS or OPENMP for the host
  Stokhos:  Add missing KOKKOS_INLINE_FUNCTION to fix build errors on HIP
  Phalanx: Remove usage of undefined var Kokkos_INCLUDE_DIRS (trilinos#11545)
  Kokkos: Mark HWLOC as a TriBITS TPL as well (trilinos#11938)
  Update for removal of Kokkos subpackages and Kokkos test renamings (trilinos#11545, trilinos#11808)
  KokkosKernels: Remove non-existent common/src/[impl,tpls] include dirs (trilinos#11545)
  Add test simpleBuildAgainstTrilinos_by_package_build_tree_name (trilinos#11545)
  Pass in and define compilers before calling find_package(Trilinos) (trilinos#11545)
  Add `Kokkos::all_libs` alias target for compatibility with TriBITS/Trilinos (trilinos#6157)
  Export Kokkos_ENABLE_<OPTION> that are relevant
  Do not append to Kokkos_OPTIONS variables those in the do not export list
  Expand list of kokkos options not to export with cmake
  Tpetra: Don't use std::binary_function
  Tpetra: Fixing missing HIP tesT
  ...
@ndellingwood
Copy link
Contributor

But there will be times when changes on the Trilinos side will need to be made for various reasons.

Agreed 👍
The disclaimer was primarily to acknowledge this effort as a case that merited exception to our typical release process, in case anyone views the PR and sees that changes were made to Kokkos directly to Trilinos

jmgate pushed a commit to tcad-charon/Trilinos that referenced this pull request Jun 7, 2023
…s:develop' (ab899a0).

* trilinos-develop: (23 commits)
  Remove non-existant subdir kokkos-kernels/common/common (trilinos#11921, trilinos#11863)
  Teuchos: Fixing cmake logic
  Teuchos: Fixing catch() issues with C++ language drift
  fastilu: Fix memory leak.
  TrilinosSS: include <omp.h> (Fix trilinos#11867)
  MueLu hierarchical: Fix build error
  Tpetra: Changes to StaticView for Kokkos PTHREAD to THREADS change
  Teuchos: Automatically enabling Tecuhos_ENABLE_THREAD_SAFE if you have Kokkos THREADS or OPENMP for the host
  Stokhos:  Add missing KOKKOS_INLINE_FUNCTION to fix build errors on HIP
  Phalanx: Remove usage of undefined var Kokkos_INCLUDE_DIRS (trilinos#11545)
  Kokkos: Mark HWLOC as a TriBITS TPL as well (trilinos#11938)
  Update for removal of Kokkos subpackages and Kokkos test renamings (trilinos#11545, trilinos#11808)
  KokkosKernels: Remove non-existent common/src/[impl,tpls] include dirs (trilinos#11545)
  Add test simpleBuildAgainstTrilinos_by_package_build_tree_name (trilinos#11545)
  Pass in and define compilers before calling find_package(Trilinos) (trilinos#11545)
  Add `Kokkos::all_libs` alias target for compatibility with TriBITS/Trilinos (trilinos#6157)
  Export Kokkos_ENABLE_<OPTION> that are relevant
  Do not append to Kokkos_OPTIONS variables those in the do not export list
  Expand list of kokkos options not to export with cmake
  Tpetra: Don't use std::binary_function
  ...
jmgate pushed a commit to tcad-charon/Trilinos that referenced this pull request Jun 7, 2023
…s:develop' (ab899a0).

* trilinos-develop: (23 commits)
  Remove non-existant subdir kokkos-kernels/common/common (trilinos#11921, trilinos#11863)
  Teuchos: Fixing cmake logic
  Teuchos: Fixing catch() issues with C++ language drift
  fastilu: Fix memory leak.
  TrilinosSS: include <omp.h> (Fix trilinos#11867)
  MueLu hierarchical: Fix build error
  Tpetra: Changes to StaticView for Kokkos PTHREAD to THREADS change
  Teuchos: Automatically enabling Tecuhos_ENABLE_THREAD_SAFE if you have Kokkos THREADS or OPENMP for the host
  Stokhos:  Add missing KOKKOS_INLINE_FUNCTION to fix build errors on HIP
  Phalanx: Remove usage of undefined var Kokkos_INCLUDE_DIRS (trilinos#11545)
  Kokkos: Mark HWLOC as a TriBITS TPL as well (trilinos#11938)
  Update for removal of Kokkos subpackages and Kokkos test renamings (trilinos#11545, trilinos#11808)
  KokkosKernels: Remove non-existent common/src/[impl,tpls] include dirs (trilinos#11545)
  Add test simpleBuildAgainstTrilinos_by_package_build_tree_name (trilinos#11545)
  Pass in and define compilers before calling find_package(Trilinos) (trilinos#11545)
  Add `Kokkos::all_libs` alias target for compatibility with TriBITS/Trilinos (trilinos#6157)
  Export Kokkos_ENABLE_<OPTION> that are relevant
  Do not append to Kokkos_OPTIONS variables those in the do not export list
  Expand list of kokkos options not to export with cmake
  Tpetra: Don't use std::binary_function
  ...
@bartlettroscoe
Copy link
Member Author

But there will be times when changes on the Trilinos side will need to be made for various reasons.

Agreed 👍 The disclaimer was primarily to acknowledge this effort as a case that merited exception to our typical release process, in case anyone views the PR and sees that changes were made to Kokkos directly to Trilinos

Kokkos code owners needs to get added back so that a Kokkos developer must approve any PR that changes Kokkos (likewise for any of the other snpashotted packages like KokkosKernels, STK, SEACAS, etc.).

@sebrowne, can we find a way to get code owners working again for these snapshotted packages?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PA: Framework Issues that fall under the Trilinos Framework Product Area pkg: Kokkos pkg: KokkosKernels TriBITS Issues with the TriBITS framework itself, not usage of the TriBITS framework
Projects
Development

Successfully merging this pull request may close these issues.

4 participants