Skip to content

Initial port to vista machine at TACC - #8604

Merged
ndkeen merged 1 commit into
masterfrom
ndk/machinefiles/add-machine-vista
Aug 5, 2026
Merged

ndkeen merged 1 commit into
masterfrom
ndk/machinefiles/add-machine-vista

Conversation

@ndkeen

@ndkeen ndkeen commented Aug 3, 2026 •

Copy link
Copy Markdown
Contributor

Add support for TACC Vista machine (gg and gh partitions).
Adding vista-gh and vista-gg machine configs for testing on the vista machine at TACC.
vista-gh are grace-hopper nodes (1 grace CPU, 1 nvidia hopper GPU).
vista-gg are grace-grace nodes (2 grace CPU's)
Primary purpose is to save the machine configs for future testing when/if needed.
Only minor testing was done, including ne30 eamxx/eam cases.
The change in cime_config/machines/cmake_macros/gnugpu.cmake mimics change in cime_config/machines/cmake_macros/gnu.cmake for different CPU archs.
Testing with nvidia also revealed an improvement in components/cmake/build_model.cmake
They have gcc v15 installed and I made one minor fix here to share/timing/private.h to allow building.

There are also some minor changes in ekat/cprnc (already in PR's) required for the testing I did.
E3SM-Project/EKAT#459
ESMCI/cprnc#33

[bfb]

@ndkeen ndkeen added Machine Files BFB PR leaves answers BFB labels Aug 3, 2026
@ndkeen
ndkeen requested a review from jgfouca August 3, 2026 20:09
@ndkeen

ndkeen commented Aug 3, 2026

Copy link
Copy Markdown
Contributor Author

Add initial machine port for TACC Vista, including new machine, batch, and
cmake-macro definitions for both the Grace-Grace (CPU-only) and
Grace-Hopper (GPU) partitions, plus a few small fixes needed to build on
this platform.

Summary

This PR adds support for the Vista supercomputer at TACC
(https://docs.tacc.utexas.edu/hpc/vista), which provides two node types:

  • vista-gg: CPU-only nodes with NVIDIA Grace CPU Superchips (144 cores/node)
  • vista-gh: GPU nodes with NVIDIA GH200 (Grace CPU + Hopper GPU) Superchips

Changes

  • cime_config/machines/config_machines.xml: add new vista-gh and vista-gg
    machine entries, including module system setup, environment variables,
    mpirun configuration, and resource limits for each partition.
  • cime_config/machines/config_batch.xml: add slurm batch system entries and
    queue definitions for vista-gh and vista-gg.
  • cime_config/machines/cmake_macros/: add new gnu, nvidia, and gnugpu cmake
    macro files for vista-gg and vista-gh.
  • cime_config/machines/cmake_macros/gnugpu.cmake: generalize mcmodel flag
    selection based on CMAKE_SYSTEM_PROCESSOR (aarch64/arm64/other) since the
    Grace CPU is an aarch64 architecture and does not support -mcmodel=medium.
  • components/eamxx/cmake/machine-files/vista.cmake: add EAMxx standalone
    build configuration for vista.
  • components/cmake/build_model.cmake: explicitly find and link netcdf to
    the component driver executable target, since driver-mct/main sources
    use netcdf directly but only inherit it as a private dependency through
    csm_share, which does not propagate the include directories needed for
    netcdf.mod.
  • share/timing/private.h: fix bool typedef guard to also account for C23
    and later, where true/false/bool are compiler keywords rather than
    macros defined via stdbool.h, avoiding a redefinition error.

ndkeen added a commit that referenced this pull request Aug 4, 2026
Add support for TACC Vista machine (gg and gh partitions).
Adding vista-gh and vista-gg machine configs for testing on the vista machine at TACC.
vista-gh are grace-hopper nodes (1 grace CPU, 1 nvidia hopper GPU).
vista-gg are grace-grace nodes (2 grace CPU's)
Primary purpose is to save the machine configs for future testing when/if needed.
Only minor testing was done, including ne30 eamxx/eam cases.
The change in cime_config/machines/cmake_macros/gnugpu.cmake mimics change in cime_config/machines/cmake_macros/gnu.cmake for different CPU archs.
Testing with nvidia also revealed an improvement in components/cmake/build_model.cmake
They have gcc v15 installed and I made one minor fix here to share/timing/private.h to allow building.

There are also some minor changes in ekat/cime (already in PR's) required for the testing I did.

[bfb]
@ndkeen

ndkeen commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

merged to next

@ndkeen
ndkeen merged commit d4092a3 into master Aug 5, 2026
0 of 14 checks passed
@ndkeen
ndkeen deleted the ndk/machinefiles/add-machine-vista branch August 5, 2026 17:14
tcclevenger added a commit that referenced this pull request Aug 5, 2026
Update EAMxx and Homme to C++20. Changes:

~Update EKAT (now requires C++20)~ (Updated as a part of Initial
port to vista machine at TACC #8604)
Remove setting CXX_STANDARD in EAMxx
Remove setting CXX_STANDARD in machine/cime build files
Update homme standalone testing to use C++20

[non-BFB] Potentially for EAMxx/homme standalone cases
tcclevenger added a commit that referenced this pull request Aug 6, 2026
This bug was introduced in #8604 when updating ekat to use C++20.
See #8559 (comment) for discussion of why this occurs.

[BFB]
tcclevenger added a commit that referenced this pull request Aug 6, 2026
This bug was introduced in #8604 when updating ekat to use C++20. 
See #8559 (comment) for discussion of why this occurs.

[BFB]
tcclevenger added a commit that referenced this pull request Aug 6, 2026
Update EAMxx and Homme to C++20. Changes:
    
~Update EKAT (now requires C++20)~ (Updated as a part of Initial
port to vista machine at TACC #8604)
Remove setting CXX_STANDARD in EAMxx
Remove setting CXX_STANDARD in machine/cime build files
Update homme standalone testing to use C++20
    
[non-BFB] Potentially for EAMxx/homme standalone cases
# its usage requirements (e.g. include dirs for netcdf.mod) do not
# propagate up to this exe target. Find/link it explicitly here too.
find_package(NETCDF REQUIRED)
target_link_libraries(${TARGET_NAME} netcdf)

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.

This wound up breaking the build on GCE. Claude has a fix but it will need to be tested on other machines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

BFB PR leaves answers BFB Machine Files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants