MNN/source/backend/cpu/CPUResizeCache.cpp

25 lines
744 B
C++
Raw Normal View History

#include "CPUResizeCache.hpp"
2023-09-04 10:42:11 +08:00
#include "../../core/TensorUtils.hpp"
namespace MNN {
Tensor* CPUResizeCache::findCacheTensor(const Tensor* src, MNN_DATA_FORMAT format) const {
auto iter = mFormatCache.find(std::make_pair(src, format));
if (iter == mFormatCache.end()) {
return nullptr;
}
return iter->second.get();
}
void CPUResizeCache::pushCacheTensor(std::shared_ptr<Tensor> dst, const Tensor* src, MNN_DATA_FORMAT format) {
mFormatCache.insert(std::make_pair(std::make_pair(src, format), dst));
}
void CPUResizeCache::reset() {
mFormatCache.clear();
}
2023-09-04 10:42:11 +08:00
void CPUResizeCache::release() {
for (auto iter : mFormatCache) {
2024-04-19 11:58:21 +08:00
TensorUtils::getDescribeOrigin(iter.second.get())->mem = nullptr;
2023-09-04 10:42:11 +08:00
}
}
};