diff options
author | Won Jeon <won.jeon@arm.com> | 2024-02-06 18:37:00 +0000 |
---|---|---|
committer | Won Jeon <won.jeon@arm.com> | 2024-02-21 19:38:55 +0000 |
commit | 2c34b4616a10539211e7006bc43f3c71e86c30bb (patch) | |
tree | aa4043a610ecd4c6d35b876cfb013dbe7dd0ab01 /reference_model/src/ops/template_types.h | |
parent | 587cc84c2b8c4b0d030b5e257c9a32461c0969b9 (diff) | |
download | reference_model-2c34b4616a10539211e7006bc43f3c71e86c30bb.tar.gz |
Add support for FP8 to reference model
Signed-off-by: Won Jeon <won.jeon@arm.com>
Change-Id: I99b70f94aff2ccd4af64875697e124eb60bc5b08
Diffstat (limited to 'reference_model/src/ops/template_types.h')
-rw-r--r-- | reference_model/src/ops/template_types.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/reference_model/src/ops/template_types.h b/reference_model/src/ops/template_types.h index 342d5c2..41e6061 100644 --- a/reference_model/src/ops/template_types.h +++ b/reference_model/src/ops/template_types.h @@ -1,5 +1,5 @@ -// Copyright (c) 2020-2023, ARM Limited. +// Copyright (c) 2020-2024, ARM Limited. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -88,6 +88,18 @@ struct GetEigenType<TOSA_REF_TYPE_BF16> using type = float; }; template <> +struct GetEigenType<TOSA_REF_TYPE_FP8E4M3> +{ + // NOTE: full precision used + using type = float; +}; +template <> +struct GetEigenType<TOSA_REF_TYPE_FP8E5M2> +{ + // NOTE: full precision used + using type = float; +}; +template <> struct GetEigenType<TOSA_REF_TYPE_INT32> { using type = int32_t; @@ -200,6 +212,16 @@ struct GetNumBits<TOSA_REF_TYPE_FP16> { static constexpr int32_t value = 16; }; +template <> +struct GetNumBits<TOSA_REF_TYPE_FP8E4M3> +{ + static constexpr int32_t value = 8; +}; +template <> +struct GetNumBits<TOSA_REF_TYPE_FP8E5M2> +{ + static constexpr int32_t value = 8; +}; // Meta function to get quantized min/max in compile time template <TOSA_REF_TYPE T> |