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.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/fbgemm/PackingTraits-inl.h b/include/fbgemm/PackingTraits-inl.h
index 5b50bc9..76eb425 100644
--- a/include/fbgemm/PackingTraits-inl.h
+++ b/include/fbgemm/PackingTraits-inl.h
@@ -57,6 +57,10 @@ struct PackingTraits<
inst_set_t::avx2,
typename std::enable_if<is_8bit<T>::value>::type> {
static constexpr int MR{12}; ///< Register block for M dimension.
+ static constexpr int NR_MIN{
+ 8}; ///< Minimum register block for N dimension.
+ ///< 8 because 8*ROW_INTERLEAVE int8 elements
+ ///< completely fill a 256-bit wide vector.
static constexpr int NR{8}; ///< Register block for N dimension.
///< NR = VLEN/8/ROW_INTERLEAVE = 256 / 8 / 4 = 8.
///< Total registers used for N dimension: NCB/NR.
@@ -88,6 +92,11 @@ struct PackingTraits<
inst_set_t::avx2,
typename std::enable_if<is_8bit<T>::value>::type> {
static constexpr int MR{3}; ///< 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 256-bit wide vector.
+
static constexpr int NR{
16}; ///< Register block for N dimension;
///< NR = VLEN/8/ROW_INTERLEAVE = 256 / 8 / 2 = 16.