Files
TheRock/rocm-systems/projects/rocprofiler-systems/examples/lulesh/external/kokkos/scripts/trilinos-integration
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00
..

Kokkos

Kokkos: Promotion Test Debugging

This explains the use (and basic implementation details) of promotion testing new Kokkos and Kokkos Kernels branches. We first introduce a test for first validating an existing Trilinos branch that all tests should be passing on (usually the develop, master, or kokkos-promotion branch of Trilinos). After validating a clean promotion branch, we show how to test the same Trilinos branch with an updated Kokkoks and Kokkos Kernels.

Clean Promotion Test

There is a script called clean_promotion_test in scripts/trilinos-integration that tests a self-contained Trilinos branch with its default included Kokkos and Kokkos Kernels packages. The script takes two arguments:

./clean_promotion_test <ENV_FILE> <TRILINOS_ROOT>

For running CUDA tests on the platform called White, e.g.

./clean_promotion_test white_cuda_env.sh $TRILINOS_ROOT

Based on the Trilinos path and ENV file, a unique hash X is generated. A CMake configuration is then run in the folder clean-test-X. Output of the configuration will appear in a config.out. If the configuration succeeds, you can cd into the folder and run:

> source ../<ENV_FILE>
> make -j

to validate the build. The configure and build steps are deliberately separated to allow incremental debugging of each step.

New Branch Promotion Test

If the clean test is passing, you can now test your updates to Kokkos. To start the tests, there is a script that now takes four arguments:

./config_promotion_test <ENV_FILE> <TRILINOS_ROOT> <KOKKOS_ROOT> <KERNELS_ROOT>

where the two additional arguments are the locations of Kokkos and Kokkos Kernels branches containing updated. Again, a unique hash X is generated. A CMake configuration is then run in the folder promotion-test-X. If the configuration succeeds, you can cd into the folder and run:

> source ../<ENV_FILE>
> make -j

The script uses the the source override feature of the Trilinos build system. It creates symlinks in the Trilinos folder to your updated Kokkos and Kokkos Kernels branches. Trilinos is then redirected to build with the updated Kokkos via a CMake option -DKokkos_SOURCE_DIR_OVERRIDE=kokkos.

LICENSE

License

Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.