Extend missing implementations for float16 support
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.
TODO:
-
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 bestatic_assert
sinceWALBERLA_CHECK
does not result in an error.) -
EnableThis must be reactivated, once newer compilers are added to the CI.WALBERLA_BUILD_WITH_HALF_PRECISION_SUPPORT
in 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