Skip to content

Commit db64e5c

Browse files
[NPUW] Fix bank weak_ptr (#27486)
After `CompiledModel` object is deleted, `shared_ptr<Bank>` is reset - thus expiring `weak_ptr` in bank manager class. If we try to create a `CompiledModel` object again with the same bank name - it was trying to utilize already empty bank ptr. This PR fixes such case
1 parent fdf29e1 commit db64e5c

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/plugins/intel_npu/src/plugin/npuw/weights_bank.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ std::shared_ptr<Bank> BankManager::getBank(const std::string& bank_name,
126126
std::lock_guard<std::mutex> guard(m_mutex);
127127

128128
auto iter = m_bank_map.find(bank_name);
129-
if (iter == m_bank_map.end()) {
129+
if (iter == m_bank_map.end() || iter->second.expired()) {
130130
auto bank = std::make_shared<Bank>(core, alloc_device);
131131
m_bank_map[bank_name] = bank;
132132
return bank;

0 commit comments

Comments
 (0)