Clone this repo:

Branches

  1. 581ac1c Removed extra semicolon at the end of a function by Miao Bin · 3 weeks ago master
  2. 0a92994 Update the dependent libraries download path. by Jerry Shih · 3 years, 1 month ago
  3. 4dfe081 Optimized FP16 bitcasts for MSVC on ARM/ARM64 by Marat Dukhan · 4 years ago
  4. 3c54eac Fix bug in fp16_alt_to_fp32_value by Marat Dukhan · 4 years, 1 month ago
  5. ba1d31f Bitcasts between double and uint64_t by Marat Dukhan · 4 years, 8 months ago

FP16

Header-only library for conversion to/from half-precision floating point formats

Features

  • Supports IEEE and ARM alternative half-precision floating-point format
    • Property converts infinities and NaNs
    • Properly converts denormal numbers, even on systems without denormal support
  • Header-only library, no installation or build required
  • Compatible with C99 and C++11
  • Fully covered with unit tests and microbenchmarks

Acknowledgements

HPC Garage logo Georgia Tech College of Computing logo

The library is developed by Marat Dukhan of Georgia Tech. FP16 is a research project at Richard Vuduc's HPC Garage lab in the Georgia Institute of Technology, College of Computing, School of Computational Science and Engineering.

This material is based upon work supported by the U.S. National Science Foundation (NSF) Award Number 1339745. Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect those of NSF.