Clone this repo:

Branches

  1. 4dfe081 Optimized FP16 bitcasts for MSVC on ARM/ARM64 by Marat Dukhan · 7 months ago master
  2. 3c54eac Fix bug in fp16_alt_to_fp32_value by Marat Dukhan · 8 months ago
  3. ba1d31f Bitcasts between double and uint64_t by Marat Dukhan · 1 year, 3 months ago
  4. febbb1c fix cmake inclusion and install (#9) by Yangqing Jia · 2 years ago
  5. ebe9dec Add ndk-build configuration files by Marat Dukhan · 2 years 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.