Clone this repo:
  1. 98b0a46 Support native conversions without __fp16/_Float16 types by Marat Dukhan · 3 weeks ago master
  2. 0854aa1 Use Intel bitcast intrinsics with recent MSVC by Marat Dukhan · 3 weeks ago
  3. b372061 Install fp16/macros.h by Marat Dukhan · 4 weeks ago
  4. 1f505fc Avoid calling benchmark::DoNotOptimize with const value by Marat Dukhan · 4 weeks ago
  5. 4c57e57 Use hardware-accelerated _Float16 type with x86 GCC by Marat Dukhan · 4 weeks 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.