diff options
author | Young Jin Kim <youki@microsoft.com> | 2020-05-21 22:55:38 +0300 |
---|---|---|
committer | Young Jin Kim <youki@microsoft.com> | 2020-05-21 22:55:38 +0300 |
commit | 2872175e0f0376c2fea9fff397a344793fe2d421 (patch) | |
tree | 247e84aae899bd3c88831e1cc6ab697c6799446f | |
parent | 60e318d48dd72a22a1f63fa625387d4b7363bd23 (diff) |
Remove an unnecessary memory allocationyouki/improve-mem-alloc
-rw-r--r-- | src/PackAWithQuantRowOffset.cc | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/PackAWithQuantRowOffset.cc b/src/PackAWithQuantRowOffset.cc index 9a285da..ef67a4c 100644 --- a/src/PackAWithQuantRowOffset.cc +++ b/src/PackAWithQuantRowOffset.cc @@ -123,9 +123,10 @@ void PackAWithQuantRowOffset<T, accT>::pack(const block_type_t& block) { (block.col_start % (this->numCols() / this->numGroups())) != 0; int32_t* row_offset_buf = getRowOffsetBuffer(); - float* smat_transposed = static_cast<float*>( - fbgemmAlignedAlloc(64, block.row_size * block.col_size * sizeof(float))); + float* smat_transposed = nullptr; if (tr) { + smat_transposed = static_cast<float*>( + fbgemmAlignedAlloc(64, block.row_size * block.col_size * sizeof(float))); transpose_simd( block.col_size, block.row_size, @@ -163,7 +164,8 @@ void PackAWithQuantRowOffset<T, accT>::pack(const block_type_t& block) { out[i * BaseType::blockColSize() + j] = 0; } } - fbgemmAlignedFree(smat_transposed); + if (smat_transposed) + fbgemmAlignedFree(smat_transposed); } template <typename T, typename accT> |