Skip to content

Extend missing implementations for float16 support

Michael Zikeli requested to merge ab04unyc/walberla:zikelim/ExtensionFP16 into master

Extends missing implementations for float16 support. Namely, an MPI_Datatype specialization for 16 bit (wchar_t) and an equality check. Also, improves the CMake checks for WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT depending on the compiler and adds float16 tests to the CI.

This merge request is related to the HyTeG merge request !671.

More information about necessary compiler features can be found in this HyTeG MR comment.


  • Extend MPI_Datatype by a 16 bits type, i.e. WCHAR.
  • Add equality check for float16.
  • Create a minimal requirement test for float16 that only checks is_floating_point<walberla::float16>::value == true. (Note: must be static_assert since WALBERLA_CHECK does not result in an error.)
  • Enable WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT in CI. This must be reactivated, once newer compilers are added to the CI.
  • Change WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT for different compiler checks in CMakeLists.txt to work if the minimal requirement test compiles.
Edited by Michael Zikeli

Merge request reports