Skip to content

Conversation

jhendersonHDF
Copy link
Collaborator

@jhendersonHDF jhendersonHDF commented Sep 26, 2025

Adds predefined datatypes for FP8 data in E4M3 and E5M2 formats

Does not add support for any native FP8 types; datatype conversions are performed in software


Important

Add predefined datatypes for FP8 data in E4M3 and E5M2 formats with software-based conversions.

  • Behavior:
    • Adds predefined datatypes H5T_FLOAT_F8E4M3 and H5T_FLOAT_F8E5M2 for FP8 data in E4M3 and E5M2 formats.
    • Conversions for FP8 datatypes are performed in software, not natively.
  • Files:
    • Updates H5PredType.cpp, H5PredType.h, and H5_f.c to include new FP8 datatypes.
    • Modifies H5LTanalyze.c, H5LTparse.c, and H5LTparse.y to handle new FP8 tokens.
    • Adds tests for FP8 datatypes in test_lite.c, H5_api_dataset_test.c, and dt_arith.c.
  • Misc:
    • Updates CHANGELOG.md to document new FP8 datatypes.
    • Adds FP8 datatype handling in HDF5Constants.java and h5util.c.

This description was created by Ellipsis for 346d5fd. You can customize this summary. It will automatically update as commits are pushed.

Adds predefined datatypes for FP8 data in E4M3 and E5M2 formats

Does not add support for any native FP8 types; datatype conversions are performed in software
@jhendersonHDF jhendersonHDF added Component - C Library Core C library issues (usually in the src directory) Component - Tools Command-line tools like h5dump, includes high-level tools Component - Documentation Doxygen, markdown, etc. Component - Wrappers C++, Java & Fortran wrappers labels Sep 26, 2025
@jhendersonHDF jhendersonHDF added the Component - Testing Code in test or testpar directories, GitHub workflows label Sep 26, 2025
@github-project-automation github-project-automation bot moved this to To be triaged in HDF5 - TRIAGE & TRACK Sep 26, 2025
@jhendersonHDF jhendersonHDF linked an issue Sep 26, 2025 that may be closed by this pull request
* the native _Float16 type and all other types of this size
* group without a specific carve-out to the native float type.
*/
H5T_t *f8_e4m3_dt = NULL; /* Datatype for FP8 E4ME */
Copy link

Choose a reason for hiding this comment

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

Typo: The comment indicates 'Datatype for FP8 E4ME', but based on the H5T_FLOAT_F8E4M3 identifier, it should likely be 'FP8 E4M3'.

Suggested change
H5T_t *f8_e4m3_dt = NULL; /* Datatype for FP8 E4ME */
H5T_t *f8_e4m3_dt = NULL; /* Datatype for FP8 E4M3 */

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

Labels

Component - C Library Core C library issues (usually in the src directory) Component - Documentation Doxygen, markdown, etc. Component - Testing Code in test or testpar directories, GitHub workflows Component - Tools Command-line tools like h5dump, includes high-level tools Component - Wrappers C++, Java & Fortran wrappers

Projects

Status: To be triaged

Development

Successfully merging this pull request may close these issues.

Add predefined datatypes for FP8 (both E4M3 and E5M2)

4 participants