Clone this repo:


  1. 0a92994 Update the dependent libraries download path. by Jerry Shih · 2 years, 2 months ago master
  2. 4dfe081 Optimized FP16 bitcasts for MSVC on ARM/ARM64 by Marat Dukhan · 3 years, 1 month ago
  3. 3c54eac Fix bug in fp16_alt_to_fp32_value by Marat Dukhan · 3 years, 2 months ago
  4. ba1d31f Bitcasts between double and uint64_t by Marat Dukhan · 3 years, 9 months ago
  5. febbb1c fix cmake inclusion and install (#9) by Yangqing Jia · 4 years, 6 months ago


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


  • 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


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.