Skip to content

Conversation

wuyifff
Copy link

@wuyifff wuyifff commented Sep 4, 2025

Description

This pull request introduces the necessary changes to add build support for the NVIDIA HPC SDK (NVHPC) compilers. The NVHPC suite enforces stricter type constraints and highlighted some version-dependent API usage that required updates for full compatibility.

Code Changes

  1. Stricter Type Enforcement: The NVHPC compiler does not allow certain implicit pointer conversions that other compilers permit. To resolve this, explicit casts and gsl::not_null wrappers have been added where Type_Provider pointers are used, ensuring type safety and satisfying the compiler.

  2. HDF5 API Compatibility: Updated the HDF5 backend to handle API changes across different library versions. Based on the HDF5 documentation, the code now uses a preprocessor check to call the modern H5Lvisit2 and H5Literate2 functions for HDF5 versions 1.12.0 and higher, while maintaining backward compatibility with older versions.

  3. Missing Linker Dependency: Added find_package(EXPAT REQUIRED) to the main CMakeLists.txt and linked the ioda_engines target against EXPAT::EXPAT. This resolves a linking error caused by a missing dependency.

Changes In gsl-lite

Please refer to the link gsl-lite/gsl-lite#359 for changes required in gsl-lite.

@srherbener
Copy link
Collaborator

@wuyifff sorry about the delay. This PR looks valuable, and I need to figure out the best way to get this merged into our repositories. The issue I'm faced with is that we have an internal (private) repository for all of the JEDI repos that we treat as the golden source. We have an automated process that continuously syncs the public repos develop branchs with the internal repos develop branches. Because of this process, a direct merge to the public repo will break the system and I need to figure out how to proceed with this PR. I'll get back with you soon about next steps. Thanks for your patience.

In the meantime could you tell me a bit about yourself and what led to this contribution? I suspect that you are working with someone in JCSDA and I'm just not aware of that. Thanks!

@l90lpa
Copy link

l90lpa commented Sep 11, 2025

In the meantime could you tell me a bit about yourself and what led to this contribution? I suspect that you are working with someone in JCSDA and I'm just not aware of that. Thanks!

Hi @wuyifff, thanks for this contribution. I've just brought @srherbener up to date regarding the work you're going to be doing across the JEDI repos.

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.

3 participants