From 1d97405c02286cad64fd672725ac7de42ed40cca Mon Sep 17 00:00:00 2001 From: Rajalakshmi Srinivasaraghavan Date: Thu, 28 Jul 2022 07:43:53 -0500 Subject: [PATCH] POWER: Enable bfloat16 kernels by default This patch enables bfloat16 kernels by default for POWER processors. Tested on Linux POWER8, POWER9, POWER10 and AIX POWER10 systems. --- Makefile.system | 1 + test/compare_sgemm_sbgemm.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/Makefile.system b/Makefile.system index 5919be851..e50d84f5a 100644 --- a/Makefile.system +++ b/Makefile.system @@ -263,6 +263,7 @@ ifeq ($(ARCH), x86_64) SMALL_MATRIX_OPT = 1 else ifeq ($(ARCH), power) SMALL_MATRIX_OPT = 1 +BUILD_BFLOAT16 = 1 endif ifeq ($(SMALL_MATRIX_OPT), 1) CCOMMON_OPT += -DSMALL_MATRIX_OPT diff --git a/test/compare_sgemm_sbgemm.c b/test/compare_sgemm_sbgemm.c index 3d4eb2515..a2c358cfa 100644 --- a/test/compare_sgemm_sbgemm.c +++ b/test/compare_sgemm_sbgemm.c @@ -51,9 +51,15 @@ typedef union float v; struct { +#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ + uint32_t s:1; + uint32_t e:8; + uint32_t m:23; +#else uint32_t m:23; uint32_t e:8; uint32_t s:1; +#endif } bits; } float32_bits;