CUDA build fixes and nvcc warning cleanup - #3565
Merged
Merged
Conversation
…uild after erf-model#3548 [run-ci]
…ers needing CUB [run-ci]
… drop dead z_t [run-ci]
… enclosing functions [run-ci]
Collaborator
|
@debog, thanks for the fixes. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes four CUDA build failures and warning sources found on LLNL LC Matrix (nvcc 13.1.1,
ERF_ENABLE_TESTS=ON), plus the report-gate pattern that hid them. Each failure masked the next, so they surfaced serially after #3548.Tests/CMakeLists.txt: compile the six test-helper executables viasetup_target_for_cuda_compilation(). They linkAMReX::amrexand include the generatedAMReX_Config.H, soAMREX_USE_CUDAis defined andAMReX_GpuReduce.Hrequires<cub/cub.cuh>; built as plain CXX they receive no CUDA include path and fail. Latent since Add native SHOC state-update regression coverage #3492 addedTests/ShocPlotfileCheck.cpp, and invisible upstream becauseERF_ENABLE_TESTSdefaults toOFFandcuda-ci.ymldoes not set it.Tests/Unit/Microphysics/SatAdj/ERF_GTestSatAdjTemperatureDiagnostics.cpp: move theParallelForinto a free function. nvcc rejects an extended__device__lambda whose enclosing function has private class access, which googletest'sTestBodyalways has. Introduced by Cloud Chamber initialization, wall fluxes, and budgets - Stage 1 #3527; currently failingcuda-ci.ymlondevelopment.Source/Microphysics/{SAM,Kessler,Morrison,WSM6,SuperDropletsMoist}: addusing NullMoist::Update_Micro_Vars;. Cloud Chamber initialization, wall fluxes, and budgets - Stage 1 #3527 added a secondUpdate_Micro_Vars(MultiFab&, const MultiFab*)overload toNullMoist; classes overriding only the single-argument form hide it, emitting nvcc#611-Droughly 700 times per build. Dispatch is unchanged. Support reference-state thermodynamics in anelastic microphysics #3564 covers all of these exceptSuperDropletsMoistby overriding both overloads.Source/TimeIntegration/ERF_SlowRhsPre.cpp: remove the deadz_t(#550-D), unused since Fix problem of omega not having enough ghost cells when used in creat… #3342..github/workflows/cuda-ci.yml: the report gate grepswarning:|error:, which never matches nvcc'swarning #NNN-D:. Run31113179047at1ecf606ealogged 818#611-Ddiagnostics and reportedWarnings: 1.