Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/marian-nmt/FBGEMM.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'include/fbgemm/PackingTraits-inl.h')
-rw-r--r--include/fbgemm/PackingTraits-inl.h50
1 files changed, 0 insertions, 50 deletions
diff --git a/include/fbgemm/PackingTraits-inl.h b/include/fbgemm/PackingTraits-inl.h
index baccfad..76eb425 100644
--- a/include/fbgemm/PackingTraits-inl.h
+++ b/include/fbgemm/PackingTraits-inl.h
@@ -222,53 +222,3 @@ struct PackingTraits<
128}; ///< Cache block for N dimension (multiple of NR).
static constexpr int KCB{256}; ///< Cache block for K dimension.
};
-
-/**
- * @brief Helper struct to type specialize for int16_t and int32_t together.
- */
-template <typename T>
-struct is_16or32bit {
- static constexpr bool value =
- std::is_same<T, int16_t>::value || std::is_same<T, int32_t>::value;
-};
-
-/**
- * @brief Packing parameter specialization for accumulation into 32-bit/16-bit
- * integers.
- *
- * Since there is no int16_t accumulation for AVX512 VNNI, we redirect int16_t
- * to int32_t accumulation and use the same blocking parameters as int32_t.
- *
- * This is picked when T is of int8 type (signed or unsigned) and instruction
- * set is avx512_vnni.
- */
-template <typename T, typename accT>
-struct PackingTraits<
- T,
- accT,
- inst_set_t::avx512_vnni,
- typename std::enable_if<
- is_8bit<T>::value && is_16or32bit<accT>::value>::type> {
- static constexpr int MR{8}; ///< Register block for M dimension.
- static constexpr int NR_MIN{
- 16}; ///< Minimum register block for N dimension.
- ///< 16 because 16*ROW_INTERLEAVE int8 elements
- ///< completely fill a 512-bit wide vector.
- static constexpr int NR{
- 32}; ///< Register block for N dimension.
- ///< Must be a multiple of 16 because 16*ROW_INTERLEAVE int8 elements
- ///< completely fill a 512-bit wide vector. Total registers used for
- ///< N dimension: NR*ROW_INTERLEAVE*8/VLEN. We use MR x
- ///< NR*ROW_INTERLEAVE*8/VLEN zmm registers
- ///< for C accumulations.
-
- static constexpr int ROW_INTERLEAVE{
- 4}; ///< 4 rows are interleaved to use vpmaddubsw instruction for packing
- ///< B matrix.
-
- static constexpr int MCB{
- 128}; ///< Cache block for M dimension (multiple of MR).
- static constexpr int NCB{
- 32}; ///< Cache block for N dimension (multiple of NR).
- static constexpr int KCB{256}; ///< Cache block for K dimension.
-};