Skip to content

homme HIP changes#5039

Merged
oksanaguba merged 65 commits into
masterfrom
oksanaguba/homme/spock
Oct 10, 2022
Merged

homme HIP changes#5039
oksanaguba merged 65 commits into
masterfrom
oksanaguba/homme/spock

Conversation

@oksanaguba

@oksanaguba oksanaguba commented Jun 22, 2022

Copy link
Copy Markdown
Contributor

Many changes for HIP.

Adding a new macro, HOMMEXX_ENABLE_GPU, redoing templates to generalize CUDA/HIP code. Arch-dependent code (very few lines) still uses kokkos macros.

Regarding HIP -- standalone homme with output builds and runs, but no eye ball norm tests wrt output were performed. Also, not performed: bfb tests, unit tests (not tried to run), investigating bfb flags. This is for future PRs.

Fixes #5069 for team sizes too large with asserts and nans in reprosums for cxx execs with diagnostics macro ENERGY_DIAGNOSTICS.

[bfb] for nightlies and v100.


INCLUDE(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++14" CXX14_SUPPORTED)
CHECK_CXX_COMPILER_FLAG("-std=c++17" CXX14_SUPPORTED)

@oksanaguba oksanaguba Jun 22, 2022

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

here is a typo? clean this up

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@ambrad or @bartgol -- could i permanently switch to c++17 here?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Sure, assuming all the tests pass on all the needed machines. My guess is they will.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Does the C++17 requirement come from Crusher or HIP? As far as I can tell, the current Kokkos version is still OK with C++14 for other platforms.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think Kokkos is "close" to switch to C++17 required. IIRC, the next release (3.7, due in Sept) will require it. If it's a deal breaker for HIP, we might think to anticipate kokkos, and switch to C++17 already. I don't think there's a compelling reason to stick with C++14 for the current production clusters, no?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

i think i needed c++17 for hipcc.

SET(CMAKE_C_COMPILER "mpicc" CACHE STRING "")
SET(CMAKE_Fortran_COMPILER "mpifort" CACHE STRING "")
SET(CMAKE_CXX_COMPILER "/ccs/home/onguba/kokkos/bin/nvcc_wrapper" CACHE STRING "")
SET(CMAKE_CXX_COMPILER "/ccs/home/onguba/acme-MASTER-GB/externals/kokkos/bin/nvcc_wrapper" CACHE STRING "")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

clean this too

Comment thread components/homme/CMakeLists.txt

SET(USE_QUEUING FALSE CACHE BOOL "")

SET(ENABLE_CUDA FALSE CACHE BOOL "")

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I do not see variable ENABLE_CUDA used anywhere, only KOKKOS_ENABLE_CUDA is used. I will remove it from all machine files.

@oksanaguba

Copy link
Copy Markdown
Contributor Author

@ambrad and @bartgol -- would you want to review this again? Once you review, I will test again and then merge.

@oksanaguba oksanaguba self-assigned this Sep 19, 2022
@oksanaguba oksanaguba changed the title [wip] homme hip changes homme HIP changes Sep 19, 2022
Comment thread components/homme/CMakeLists.txt Outdated

SET (HOMMEXX_EXEC_SPACE "Default" CACHE STRING "Select the kokkos exec space")

#is HOMMEXX_EXEC_SPACE set anywhere? in scream?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please remove dev comments to yourself.


# needed for CPRNC build system
set (cprnc_dummy_file "${CMAKE_CURRENT_SOURCE_DIR}/utils/cime/tools/cprnc/Macros.cmake")
set (cprnc_dummy_file "${CMAKE_CURRENT_SOURCE_DIR}/utils/cime/CIME/non_py/cprnc/Macros.cmake")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Note to other reviewers: These CIME/non_py lines follow a commit already in master.


IF (HOMME_USE_KOKKOS)
TARGET_LINK_LIBRARIES(${execName} kokkos)
link_to_kokkos(${execName})

@ambrad ambrad Sep 19, 2022

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Note to other reviewers: I reorganized things a bit so that link_to_kokkos takes care of the library linking.

SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
CHECK_CXX_COMPILER_FLAG("-std=c++17" CXX17_SUPPORTED)
IF (${CXX17_SUPPORTED})
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Are we sure C++17 is actually needed? I had the impression that it was thought Crusher requires it but then it turns out it does not.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Now I do not remember why it is here. Do you prefer 14?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

For cleanliness we should not mandate more than is technically required. I believe for a while weaver could not handle C++17, but that may have changed now.

SET(CMAKE_Fortran_COMPILER "ftn" CACHE STRING "")
SET(CMAKE_CXX_COMPILER "hipcc" CACHE STRING "")
#SET(CMAKE_CXX_COMPILER "/ccs/home/onguba/kokkos/bin/nvcc_wrapper" CACHE STRING "")
SET(E3SM_KOKKOS_PATH "/ccs/home/onguba/kokkos-example-spock-hipcc2/bld-hipcc" CACHE STRING "")

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I had removed dependence on onguba-based things in the crusher file. spock is I think irrelevant at this point, so I don't mind this line. But we could also consider not including the spock file in this PR. Up to you, though.

#if defined(HOMMEXX_CUDA_SPACE) || \
(defined(HOMMEXX_DEFAULT_SPACE) && defined(KOKKOS_ENABLE_CUDA)) // Can't use GPTL timers on CUDA
//OG not sure about timers and HIP, probably the same as with CUDA
//#if defined(HOMMEXX_HIP_SPACE) || defined(HOMMEXX_CUDA_SPACE) || \

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please remove the commented-out dev code.

@bartgol bartgol left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good. I have a few suggestions, that are mostly style related. Feel free to disregard any or all of them.

Comment thread components/homme/CMakeLists.txt Outdated

SET (HOMMEXX_EXEC_SPACE "Default" CACHE STRING "Select the kokkos exec space")

#is HOMMEXX_EXEC_SPACE set anywhere? in scream?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Doesn't have to be set. The "Default" option usually works. The only case where it is useful to set it manually is, e.g., if Cuda or OpenMP is enabled in kokkos, but one wants to use Serial instead.

IF (${CXX14_SUPPORTED})
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
CHECK_CXX_COMPILER_FLAG("-std=c++17" CXX17_SUPPORTED)
IF (${CXX17_SUPPORTED})

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

FYI, some cmake might issue a warning here, depending on policies settings. Unless old policy settings are used, you should get a warning like

if given arguments: "TRUE" An argument named "TRUE" appears in a conditional statement.

The clean cmake syntax is to use if (VAR) rather than if (${VAR}).

@@ -932,7 +932,7 @@ struct CaarFunctorImpl {
// CUDA version

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This should prob be changed to GPU version...

@@ -986,7 +986,7 @@ struct CaarFunctorImpl {
// Non-CUDA version

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

...and this to Non-GPU version.

* See the file 'COPYRIGHT' in the HOMMEXX/src/share/cxx directory
*******************************************************************************/

#include "Config.hpp"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For all ComposeTransport*.cpp files, perhaps it would be easier to add the source files to THETAL_DEPS_CXX in the CMakeLists.txt only if HOMME_ENABLE_COMPOSE is ON, and avoid CPP logic in the source/header files.

static
KOKKOS_INLINE_FUNCTION
typename std::enable_if<!std::is_same<ExecSpaceType,Hommexx_Cuda>::value &&
typename std::enable_if<!std::is_same<ExecSpaceType,HommexxGPU>::value &&

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Is this basically checking that ExecSpaceType is Serial? Should we perhaps just do

typename std::enable_if<!std::is_same<ExecSpaceType,Kokkos::Serial>::value, int> ::type

?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Serial would be too restrictive. This is checking that it's a non-GPU space.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

But after this there is "and not OpenMP"...

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Good point. But technically, it's trying to catch the cases that are excluded by the two specializations below it, so IMO it's more accurate the way it is. In practice, though, Serial would be OK.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Either way is fine, I guess. If future archs support (like sycl) makes this chunk hard to read, we can revisit.

${SRC_SHARE_DIR}/compose
${CMAKE_BINARY_DIR}/src/share/cxx
)
IF (NOT HOMME_ENABLE_COMPOSE)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I find this backward logic a bit hard to parse. Perhaps we could do the other way around: not add compose dir in the SET statement above, and replace this IF with

if (HOMME_ENABLE_COMPOSE)
   add compose
 endif()

${SRC_SHARE_DIR}/planar_mesh_mod.F90
)

IF (NOT HOMME_ENABLE_COMPOSE)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Same here: it's easier to to the other way around.

#include "utilities/ViewUtils.hpp"

#if ! defined(NDEBUG)
#define RESOLVE_ISSUE_WITH_ASSERTS

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Would you mind adding a couple of lines of comment explaining what the issue with asserts is? I'm afraid someone 3 years from now will stumble on this while doing some maintenance and have no clue what's going on.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I will add a comment. I believe it is a common case in scream too? in debug regime with asserts team sizes are too big.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Ah, yes, that one. It showed up in scream as well, yes.

SET (COMMON_DEFINITIONS NP=4 NC=4)
IF (CUDA_BUILD)
SET(COMMON_DEFINITIONS ${COMMON_DEFINITIONS} CUDA_BUILD)
IF (CUDA_BUILD OR HIP_BUILD)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Could simply do IF (HOMMEXX_ENABLE_GPU), like it's done elsewhere, so it's ready if/when we add SYCL.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks -- this one was discussed before, there is CUDA_BUILD used elsewhere in homme cmake. It can be cleaned up later.

@bartgol

bartgol commented Sep 19, 2022

Copy link
Copy Markdown
Contributor

I have a request, but feel free to disregard and punt to a future PR: in scream, we keep getting warnings due to deprecated code in Kokkos related to MDRange. In particular, these lines

// For backward compatibility
namespace Kokkos {
namespace Experimental {
using Kokkos::Iterate;
using Kokkos::MDRangePolicy;
using Kokkos::Rank;
}  // namespace Experimental
}  // namespace Kokkos

in KokkosExp_MDRangePolicy.hpp are deprecated in later kokkos versions (like the one used in EKAT). Since they are simply typedefs, we could remove the string Experimental when we use MDRange stuff in Homme. That is, replace

// A templated typedef for MD range policy (used in RK stages)
template<typename ExecutionSpace, int Rank>
using MDRangePolicy = Kokkos::Experimental::MDRangePolicy
                          < ExecutionSpace,
                            Kokkos::Experimental::Rank
                              < Rank,
                                Kokkos::Experimental::Iterate::Right,
                                Kokkos::Experimental::Iterate::Right
                              >,
                            Kokkos::IndexType<int>
                          >;  

with

// A templated typedef for MD range policy (used in RK stages)
template<typename ExecutionSpace, int Rank>
using MDRangePolicy = Kokkos::MDRangePolicy
                          < ExecutionSpace,
                            Kokkos::Rank
                              < Rank,
                                Kokkos::Iterate::Right,
                                Kokkos::Iterate::Right
                              >,
                            Kokkos::IndexType<int>
                          >;  

in ExecSpaceDefs.hpp.

@oksanaguba

oksanaguba commented Sep 20, 2022

Copy link
Copy Markdown
Contributor Author

This commit: Crusher GPU 2 execs, 72 and 128 levels, 10 tracers, ne4, 1,8,16,24,and 32 ranks.

theta-l-nlev72-kokkos crashes in 1-rank run with mpich error after a few time steps (i haven't run 1 rank with it before). the rest is ok. this one is built with extra diagnostics arrays.

theta-nlev128-kokkos -- all are ok.

@oksanaguba

oksanaguba commented Sep 20, 2022

Copy link
Copy Markdown
Contributor Author

Weaver -- theta-f* ne2 * tests for F vs CXX all pass for this commit and unit tests, too.

Oksana Guba and others added 2 commits September 20, 2022 12:31
 Conflicts:
	components/homme/test_execs/preqx_kokkos_ut/CMakeLists.txt
	components/homme/test_execs/thetal_kokkos_ut/CMakeLists.txt
@oksanaguba

oksanaguba commented Sep 21, 2022

Copy link
Copy Markdown
Contributor Author

I merged yesterday's master and got these fails on chrysalis from e3sm_integration:

    FAIL ERP_Ld3.ne30pg2_EC30to60E2r2.WCYCL1850.chrysalis_intel.allactive-pioroot1 BASELINE master: DIFF
    FAIL PEM_Ln9.ne30pg2_EC30to60E2r2.WCYCL1850.chrysalis_intel BASELINE master: DIFF
    FAIL PET_Ln9_PS.ne30pg2_EC30to60E2r2.WCYCL1850.chrysalis_intel.allactive-mach-pet BASELINE master: DIFF
    FAIL SMS_D_Ld1.ne30pg2_EC30to60E2r2.WCYCL1850.chrysalis_intel.allactive-wcprod BASELINE master: DIFF
    FAIL SMS_D_Ld1.ne30pg2_EC30to60E2r2.WCYCLSSP370.chrysalis_intel.allactive-wcprodssp BASELINE master: DIFF
    FAIL SMS_D_Ld1.ne30pg2_r05_EC30to60E2r2.WCYCL1850.chrysalis_intel BASELINE master: DIFF
    FAIL SMS_Ld2.ne30pg2_r05_EC30to60E2r2.BGCEXP_CNTL_CNPECACNT_1850.chrysalis_intel.elm-bgcexp BASELINE master: DIFF
    FAIL SMS_Ld2.ne30pg2_r05_EC30to60E2r2.BGCEXP_CNTL_CNPRDCTC_1850.chrysalis_intel.elm-bgcexp BASELINE master: DIFF

which i cannot explain. Still waiting for cdash to come up with today's nightlies. From a few tests that I looked at, all normalized diffs seem to be small.

homme and hommebfb pass.

@rljacob

rljacob commented Oct 6, 2022

Copy link
Copy Markdown
Member

@oksanaguba what is the status of this PR?

@oksanaguba

Copy link
Copy Markdown
Contributor Author

I had some issues testing it, trying to resolve them now.

@oksanaguba

oksanaguba commented Oct 7, 2022

Copy link
Copy Markdown
Contributor Author

Testing this branch with e3sm_developer on chrysalis, only NL diffs are due to layouts, which differ for the baselines ran through jenkins (explanation is in infrastructure-dev channel):

[ac.onguba@chrlogin1 ERS.ne30_g16_rx1.A.chrysalis_intel.C.20221007_132931_3frtnx]$ ~/ess/cs.status.20221007_132931_3frtnx | grep FAIL
  ERIO.ne30_g16_rx1.A.chrysalis_intel (Overall: NLFAIL) details:
    FAIL ERIO.ne30_g16_rx1.A.chrysalis_intel NLCOMP
    FAIL ERS.f09_g16_g.MALISIA.chrysalis_intel TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
    FAIL ERS.f19_g16.I1850GSWCNPECACNTBC.chrysalis_intel.elm-eca_f19_g16_I1850GSWCNPECACNTBC TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
  ERS.f19_g16_rx1.A.chrysalis_intel (Overall: NLFAIL) details:
    FAIL ERS.f19_g16_rx1.A.chrysalis_intel NLCOMP
  ERS.ne30_g16_rx1.A.chrysalis_intel (Overall: NLFAIL) details:
    FAIL ERS.ne30_g16_rx1.A.chrysalis_intel NLCOMP
    FAIL ERS.ne30_g16_rx1.A.chrysalis_intel TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
  NCK.f19_g16_rx1.A.chrysalis_intel (Overall: NLFAIL) details:
    FAIL NCK.f19_g16_rx1.A.chrysalis_intel NLCOMP
  SEQ.f19_g16.X.chrysalis_intel (Overall: NLFAIL) details:
    FAIL SEQ.f19_g16.X.chrysalis_intel NLCOMP
    FAIL SMS_Ln9.ne4_oQU240.F2010.chrysalis_intel.eam-outfrq9s TPUTCOMP Error: TPUTCOMP: Computation time increase > 5% from baseline
  SMS.ne30_f19_g16_rx1.A.chrysalis_intel (Overall: NLFAIL) details:
    FAIL SMS.ne30_f19_g16_rx1.A.chrysalis_intel NLCOMP

All NL diffs are due to layouts.

oksanaguba added a commit that referenced this pull request Oct 7, 2022
Many changes for HIP.

Adding a new macro, HOMMEXX_ENABLE_GPU, redoing templates
to generalize CUDA/HIP code. Arch-dependent code (very few lines)
still uses kokkos macros.

Regarding HIP -- standalone homme with output builds and runs,
but no eye ball norm tests wrt output were performed.
Also, not performed: bfb tests, unit tests (not tried to run),
investigating bfb flags. This is for future PRs.

Fixes #5069 for team sizes too large with asserts and nans
in reprosums for cxx execs with diagnostics macro ENERGY_DIAGNOSTICS.

[bfb] for nightlies and v100.
@oksanaguba

Copy link
Copy Markdown
Contributor Author

in next

@amametjanov

Copy link
Copy Markdown
Member

Can you take a look and fix these multi-threaded cases for pgi on either Ascent or Summit?
https://my.cdash.org/viewTest.php?onlydelta&buildid=2226840

  • SMS_P12x2.ne4_oQU240.WCYCL1850NS.ascent_pgi.allactive-mach_mods
  • PET_Ln5.ne4_oQU240.F2010.ascent_pgi.allactive-mach-pet
  • PET_Ln9_PS.ne30pg2_EC30to60E2r2.WCYCL1850.ascent_pgi.allactive-mach-pet
  • SMS_Ln5.ne30pg2_r05_EC30to60E2r2.BGCEXP_LNDATM_CNPRDCTC_1850.ascent_pgi
  • SMS_Ln5.ne30pg2_r05_EC30to60E2r2.BGCEXP_LNDATM_CNPRDCTC_20TR.ascent_pgi

@oksanaguba

Copy link
Copy Markdown
Contributor Author

Thanks -- i see a message from kokkos, not sure what it is , i will try with debug:

1: 2: [h49n01:408307] *** Process received signal ***
1: 2: [h49n01:408307] Signal: Segmentation fault (11)
1: 2: [h49n01:408307] Signal code: Address not mapped (1)
1: 2: [h49n01:408307] Failing at address: 0x900000000
1: 2: Kokkos::Impl::SharedAllocationRecord '�' failed decrement count = 0

HIP can't handle the reference, but we still need it for the F90 dycore with
HORIZ_OPENMP enabled, since in that code path we enter all of our routines
within a threaded region and so cannot create new Kokkos::Serial views during
time stepping. (Recall Kokkos::Serial is necessary b/c Homme's threading is not
compatible with Kokkos::OpenMP.) Thus, if COMPOSE_PORT is not defined, take a
reference.
@ambrad

ambrad commented Oct 8, 2022

Copy link
Copy Markdown
Member

@amametjanov thanks for letting us know and pointing us to the failing tests. The issue was in one of my commits for this PR. I have fixed the issue, tested it on the five tests you linked, and pushed the fix to this branch. @oksanaguba you can remerge this PR to next when you have a chance. Thanks.

oksanaguba added a commit that referenced this pull request Oct 8, 2022
Many changes for HIP.

Adding a new macro, HOMMEXX_ENABLE_GPU, redoing templates
to generalize CUDA/HIP code. Arch-dependent code (very few lines)
still uses kokkos macros.

Regarding HIP -- standalone homme with output builds and runs,
but no eye ball norm tests wrt output were performed.
Also, not performed: bfb tests, unit tests (not tried to run),
investigating bfb flags. This is for future PRs.

Fixes #5069 for team sizes too large with asserts and nans
in reprosums for cxx execs with diagnostics macro ENERGY_DIAGNOSTICS.

[bfb] for nightlies and v100.
@oksanaguba

Copy link
Copy Markdown
Contributor Author

in next

@oksanaguba oksanaguba merged commit a17d4b4 into master Oct 10, 2022
@oksanaguba oksanaguba deleted the oksanaguba/homme/spock branch October 10, 2022 18:15
@rljacob rljacob added the HOMME label Feb 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

hommexx (thetaxx): issues with diagnostics on summit

6 participants