eembc / coremark

CoreMark® is an industry-standard benchmark that measures the performance of central processing units (CPU) and embedded microcrontrollers (MCU).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Question regarding type `ee_f16`

JOE1994 opened this issue · comments

Hello, I noticed that there is no type definition provided for ee_f16 inside the project (although it is used to define type MATDAT ). core_portme.h, which contains definitions for most of the ee_~ types doesn't contain definition for ee_f16. Are benchmark users expected to provide their own implementation and definition for ee_f16 to run the benchmark with ee_f16 ? Thank you 🤓

coremark/coremark.h

Lines 103 to 110 in 21d473a

#define MATDAT_INT 1
#if MATDAT_INT
typedef ee_s16 MATDAT;
typedef ee_s32 MATRES;
#else
typedef ee_f16 MATDAT;
typedef ee_f32 MATRES;
#endif

Hi @JOE1994,
This is dead code as the floating-point matrix multiply was never activated in production. Given the fact that there is no standard C way of defining a 16-bit float, it would require, as you pointed out, a user-specific definition for that platform.
Thanks,
Peter