update the intgemm version to upstream (#924)

Some data types got upper cased, that's why there is a larger diff than expected

Co-authored-by: Roman Grundkiewicz <rgrundkiewicz@gmail.com>
This commit is contained in:
Nikolay Bogoychev 2022-02-15 11:18:29 +00:00 committed by GitHub
parent b8bf086b10
commit 8a9580b329
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 21 deletions

View File

@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
- Make guided-alignment faster via sparse memory layout, add alignment points for EOS, remove losses other than ce.
- Changed minimal C++ standard to C++-17
- Faster LSH top-k search on CPU
- Updated intgemm to the latest upstream version
## [1.11.0] - 2022-02-08

View File

@ -1 +1 @@
v1.11.3
v1.11.4

@ -1 +1 @@
Subproject commit 8abde25b13c3ab210c0dec8e23f4944e3953812d
Subproject commit a05a2e51ab524bcee954a39ee72005193f3adf7c

View File

@ -172,19 +172,19 @@ public:
// Hardware-specific conversions which allow to implement memory-mapping and avoid conversion at runtime
cpu::integer::passOrAbort(gemmElementType); // Check if the hardware supports the GEMM type
if(isSsse3(gemmElementType)) {
intgemm::ssse3::Kernels8::PrepareBTransposed(tmp->data(), /*input*/
intgemm::SSSE3::Kernels8::PrepareBTransposed(tmp->data(), /*input*/
paramMat->data<int8_t>(), /*output*/
quantMult, /*Quant Mult*/
rows(val),
cols(val));
} else if(isAvx2(gemmElementType)) {
intgemm::avx2::Kernels8::PrepareBTransposed(tmp->data(), /*input*/
intgemm::AVX2::Kernels8::PrepareBTransposed(tmp->data(), /*input*/
paramMat->data<int8_t>(), /*output*/
quantMult, /*Quant Mult*/
rows(val),
cols(val));
} else if(isAvx512(gemmElementType)) {
intgemm::avx512bw::Kernels8::PrepareBTransposed(tmp->data(), /*input*/
intgemm::AVX512BW::Kernels8::PrepareBTransposed(tmp->data(), /*input*/
paramMat->data<int8_t>(), /*output*/
quantMult, /*Quant Mult*/
rows(val),
@ -206,19 +206,19 @@ public:
// Hardware-specific conversions which allow to implement memory-mapping and avoid conversion at runtime
cpu::integer::passOrAbort(gemmElementType); // Check if the hardware supports the GEMM type
if(isSse2(gemmElementType)) {
intgemm::sse2::Kernels16::PrepareBTransposed(tmp->data(), /*input*/
intgemm::SSE2::Kernels16::PrepareBTransposed(tmp->data(), /*input*/
paramMat->data<int16_t>(), /*output*/
quantMult, /*Quant Mult*/
rows(val),
cols(val));
} else if(isAvx2(gemmElementType)) {
intgemm::avx2::Kernels16::PrepareBTransposed(tmp->data(), /*input*/
intgemm::AVX2::Kernels16::PrepareBTransposed(tmp->data(), /*input*/
paramMat->data<int16_t>(), /*output*/
quantMult, /*Quant Mult*/
rows(val),
cols(val));
} else if(isAvx512(gemmElementType)) {
intgemm::avx512bw::Kernels16::PrepareBTransposed(tmp->data(), /*input*/
intgemm::AVX512BW::Kernels16::PrepareBTransposed(tmp->data(), /*input*/
paramMat->data<int16_t>(), /*output*/
quantMult, /*Quant Mult*/
rows(val),

View File

@ -11,21 +11,21 @@
namespace intgemm {
struct Int8;
struct Int16;
namespace ssse3 {
namespace SSSE3 {
struct Kernels8;
}
namespace sse2 {
namespace SSE2 {
struct Kernels16;
}
namespace avx2 {
namespace AVX2 {
struct Kernels8;
struct Kernels16;
}
namespace avx512bw {
namespace AVX512BW {
struct Kernels8;
struct Kernels16;
}
namespace avx512vnni {
namespace AVX512VNNI {
struct Kernels8;
}
}
@ -57,22 +57,22 @@ template <> struct intgemm_<Type::intgemm8> {
};
template <> struct intgemm_<Type::intgemm8ssse3> {
using width = intgemm::ssse3::Kernels8;
using width = intgemm::SSSE3::Kernels8;
using type = int8_t;
};
template <> struct intgemm_<Type::intgemm8avx2> {
using width = intgemm::avx2::Kernels8;
using width = intgemm::AVX2::Kernels8;
using type = int8_t;
};
template <> struct intgemm_<Type::intgemm8avx512> {
using width = intgemm::avx512bw::Kernels8;
using width = intgemm::AVX512BW::Kernels8;
using type = int8_t;
};
template <> struct intgemm_<Type::intgemm8avx512vnni> {
using width = intgemm::avx512vnni::Kernels8;
using width = intgemm::AVX512VNNI::Kernels8;
using type = int8_t;
};
@ -82,17 +82,17 @@ template <> struct intgemm_<Type::intgemm16> {
};
template <> struct intgemm_<Type::intgemm16sse2> {
using width = intgemm::sse2::Kernels16;
using width = intgemm::SSE2::Kernels16;
using type = int16_t;
};
template <> struct intgemm_<Type::intgemm16avx2> {
using width = intgemm::avx2::Kernels16;
using width = intgemm::AVX2::Kernels16;
using type = int16_t;
};
template <> struct intgemm_<Type::intgemm16avx512> {
using width = intgemm::avx512bw::Kernels16;
using width = intgemm::AVX512BW::Kernels16;
using type = int16_t;
};
@ -220,4 +220,4 @@ void prepareAndTransposeB(io::Item& item, const char * input) {
} //integer
} //cpu
} //marian
} //marian