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

[WIP] Update and sandardize implementation of packages, in sync with spack update #480

Open
wants to merge 35 commits into
base: develop
Choose a base branch
from

Conversation

adrienbernede
Copy link
Member

@adrienbernede adrienbernede commented Sep 25, 2024

Summary

This PR :

  • migrates CARE and Caliper to CachedCMakePackage, reducing the gap with implementations found in llnl/radiuss-spack-configs.
  • improves coherency in version constraints across RADIUSS packages.
  • updates Spack.
  • updates RAJA to latest develop.
  • NOTE: This PR contains changes to kernels with reductions to update to the new val-op interface which is needed to build with RAJA develop.

👀 Deserves some consideration:

  • The spec added in CI for sycl on corona had +openmp. I had to turn openmp support off due to a build error. Openmp support is turned off for the same job in RAJA CI. Then I had to turn benchmarks off. Now it's something else. Allowing the job to fail for now.

⚠️ TODO Before Merge:

@rhornung67
Copy link
Member

@adrienbernede I don't understand why SYCL CI is failing. I can build and run the tests manually on corona using the scripts/lc-builds/corona_sycl.sh script. Please note that I fixed a couple of issues in this PR: #481. Those changes were necessary for me to build and run successfully.

The build script mentioned here may be helpful for you to get the CI SYCL build correct.

@rhornung67
Copy link
Member

Also, OpenMP can be enabled for the SYCL checks.

@adrienbernede
Copy link
Member Author

@rhornung67
I had turned off OpenMP because of this:

CMake Error at /usr/tce/backend/installations/linux-rhel8-x86_64/gcc-10.3.1/cmake-3.23.1-mdfqd2l7c33zg7xcvqizwz25vqmp7jfw/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES)
Call Stack (most recent call first):
  /usr/tce/backend/installations/linux-rhel8-x86_64/gcc-10.3.1/cmake-3.23.1-mdfqd2l7c33zg7xcvqizwz25vqmp7jfw/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)
  /usr/tce/backend/installations/linux-rhel8-x86_64/gcc-10.3.1/cmake-3.23.1-mdfqd2l7c33zg7xcvqizwz25vqmp7jfw/share/cmake-3.23/Modules/FindOpenMP.cmake:545 (find_package_handle_standard_args)
  blt/cmake/thirdparty/BLTSetupOpenMP.cmake:11 (find_package)
  blt/cmake/BLTSetupTargets.cmake:86 (include)
  blt/cmake/SetupThirdParty.cmake:6 (include)
  blt/SetupBLT.cmake:129 (include)
  CMakeLists.txt:28 (include)

I'll try with your fix.

@rhornung67
Copy link
Member

@adrienbernede the intel 2023 failure can be fixed by adding the flag fp-model=precise to the compile line (via cxxglags). Unfirtunately, that causes another check that currently passes to fail..... 😢

@adrienbernede
Copy link
Member Author

adrienbernede commented Oct 17, 2024

@rhornung67 Is the floating point model something that can be changed for RAJA only, or should it propagate to the project using RAJA as a dependency ? In the former case, we could apply the flag via CMake or via Spack. In the latter case... well I hope it's not the latter...

@rhornung67
Copy link
Member

rhornung67 commented Oct 17, 2024

Actually, all projects using the intel compiler that I know of set that flag. However, we should apply it via CMake and not Spack. That just means use cxxxflags==\"fp-model=precise\" in the spec for that case, correct?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants