Skip to content

ECP-SDK: enable hdf5 VOL adapters#33393

Closed
svenevs wants to merge 1 commit intospack:developfrom
svenevs:ecp-hdf5-vol
Closed

ECP-SDK: enable hdf5 VOL adapters#33393
svenevs wants to merge 1 commit intospack:developfrom
svenevs:ecp-hdf5-vol

Conversation

@svenevs
Copy link
Copy Markdown
Member

@svenevs svenevs commented Oct 18, 2022

  • When +hdf5, enable VOL adapters suitable for the SDK.
  • Each VOL package must prepend to the HDF5_PLUGIN_PATH.
  • hdf5: 1.13.3 will break existing VOL packages, constrain
    VOLs related to SDK and add note to keep 1.13.2 available.
  • hdf5-vol-async:
    • Do not set HDF5_VOL_CONNECTOR, consumers must opt-in.
    • Enforce DAG constraints on MPI to require threaded version.
    • Depend on an explicit version of argbots to relax
      concretization issues in other spack environments.
  • paraview: fix compiler flag usage for the 110 ABI (followup to ParaView: ParaView needs to set the HDF5 API #33617).
  • Confirm builds.
    • e4s container build
    • vanilla build bare metal
    • e4s site build incl. site yamls
    • gitlab dav-sdk pipeline keeps failing in paraview, cannot reproduce locally
  • Confirm with HDF5 group about vol-async environment variables.
root@79bbd49cf2a8:/# spack load ecp-data-vis-sdk                                                                                                        
root@79bbd49cf2a8:/# echo $HDF5_PLUGIN_PATH | tr : $'\n' | xargs ls                                                                                     
/build/src/opt/spack/linux-ubuntu20.04-zen2/gcc-11.1.0/hdf5-vol-async-1.3-qdnz5mqjb2puxdcwoy7muk63udmw7uwz/lib:
libasynchdf5.a  libh5async.so

/build/src/opt/spack/linux-ubuntu20.04-zen2/gcc-11.1.0/hdf5-vol-cache-v1.0-oevenlhfpnlhbnykhwudmpovgg4rihtu/lib:
libhdf5_vol_cache.so

/build/src/opt/spack/linux-ubuntu20.04-zen2/gcc-11.1.0/hdf5-vol-log-1.3.0-2dl7s3whgwz6hs2ftzrolzfjd54me4hs/lib:
libH5VL_log.a  libH5VL_log.so  libH5VL_log.so.0  libH5VL_log.so.0.0.0

@spackbot-app
Copy link
Copy Markdown

spackbot-app bot commented Oct 18, 2022

@lrknox can you review this PR?

This PR modifies the following package(s), for which you are listed as a maintainer:

  • ecp-data-vis-sdk
  • hdf5-vol-async
  • hdf5-vol-cache
  • hdf5-vol-log

@svenevs svenevs marked this pull request as draft October 18, 2022 15:51
Copy link
Copy Markdown
Contributor

@kwryankrattiger kwryankrattiger left a comment

Choose a reason for hiding this comment

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

LGTM

@houjun
Copy link
Copy Markdown
Contributor

houjun commented Oct 25, 2022

@derobins Any comment on setting the environment variables for VOL connectors in spack?

@brtnfld
Copy link
Copy Markdown

brtnfld commented Oct 25, 2022

I agree that Each VOL package should append to HDF5_PLUGIN_PATH.
As for HDF5_VOL_CONNECTOR, Spack should not be setting this environment variable. Setting this causes an HDF5 application, by default, to use the vol connector, which might not be what the user intended. The default for an HDF5 install should be the native connector unless specified otherwise. It is common practice to set HDF5_VOL_CONNECTOR when using a vol connector since this is how one enables/disables using the vol connectors. Enabling a vol connector should be explicit.

@derobins
Copy link
Copy Markdown

I agree that Each VOL package should append to HDF5_PLUGIN_PATH. As for HDF5_VOL_CONNECTOR, Spack should not be setting this environment variable. Setting this causes an HDF5 application, by default, to use the vol connector, which might not be what the user intended. The default for an HDF5 install should be the native connector unless specified otherwise. It is common practice to set HDF5_VOL_CONNECTOR when using a vol connector since this is how one enables/disables using the vol connectors. Enabling a vol connector should be explicit.

Agree with Scot - append to HDF5_PLUGIN_PATH (order shouldn't be important) and don't set HDF5_VOL_CONNECTOR.

hyoklee
hyoklee previously approved these changes Oct 26, 2022
@svenevs svenevs marked this pull request as ready for review October 26, 2022 22:01
jeanbez
jeanbez previously approved these changes Oct 27, 2022
houjun
houjun previously approved these changes Oct 27, 2022
@svenevs svenevs dismissed stale reviews from houjun and jeanbez via c4cf98f October 27, 2022 19:35
@svenevs svenevs dismissed stale reviews from hyoklee and kwryankrattiger via c4cf98f October 27, 2022 19:35
@svenevs svenevs force-pushed the ecp-hdf5-vol branch 3 times, most recently from ef75c42 to 4864df4 Compare November 2, 2022 16:41
@svenevs svenevs force-pushed the ecp-hdf5-vol branch 2 times, most recently from ef08ad7 to 59da04d Compare November 3, 2022 20:59
kwryankrattiger
kwryankrattiger previously approved these changes Nov 3, 2022
hyoklee
hyoklee previously approved these changes Nov 3, 2022
jeanbez
jeanbez previously approved these changes Nov 4, 2022
houjun
houjun previously approved these changes Nov 4, 2022
@hyoklee
Copy link
Copy Markdown
Contributor

hyoklee commented Nov 4, 2022

@spackbot run pipeline

@spackbot-app
Copy link
Copy Markdown

spackbot-app bot commented Nov 4, 2022

I've started that pipeline for you!

- When +hdf5, enable VOL adapters suitable for the SDK.
- Each VOL package must prepend to the HDF5_PLUGIN_PATH.
- hdf5: 1.13.3 will break existing VOL packages, constrain
  VOLs related to SDK and add note to keep 1.13.2 available.
- hdf5-vol-async:
    - Do not set HDF5_VOL_CONNECTOR, consumers must opt-in.
    - Enforce DAG constraints on MPI to require threaded version.
    - Depend on an explicit version of argbots to relax
      concretization issues in other spack environments.
- paraview: fix compiler flag usage for the 110 ABI (followup to spack#33617).
@xdelaruelle
Copy link
Copy Markdown
Contributor

xdelaruelle commented Jun 21, 2023

Maybe this PR could be closed as #35195 has been merged.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants