[GPU] Re-enable memory reuse for gemm (#23600)

### Details:
- Since #22726 gemm is derived from multi-stage impl which had memory
reuse flag enforced to false for all sub-classes.
- This patch enables memory reuse back for gemm kernel to reduce memory
consumption.

### Tickets:
 - *135361*
This commit is contained in:
Vladimir Paramuzov 2024-03-22 00:29:43 +04:00 committed by GitHub
parent a929c8c7e6
commit 778f280e3d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 1 deletions

View File

@ -33,6 +33,12 @@ struct gemm_impl : multi_stage_primitive<gemm> {
return make_unique<gemm_impl>(*this);
}
gemm_impl() = default;
gemm_impl(const std::vector<kernel_selector::kernel_data>& kd) : parent(kd) {
this->can_reuse_memory = true;
}
void load(BinaryInputBuffer& ib) override {
parent::load(ib);
if (is_dynamic()) {

View File

@ -51,7 +51,7 @@ struct multi_stage_primitive : public typed_primitive_impl<PType> {
for (size_t k = 0; k < other._kernels.size(); ++k) {
_kernels.emplace_back(other._kernels[k]->clone());
}
this->can_reuse_memory = false;
this->can_reuse_memory = other.can_reuse_memory;
this->_kernel_name = other._kernel_name;
this->_is_dynamic = other._is_dynamic;
}