Skip to content

Commit

Permalink
Fix empty closures in non-function calls
Browse files Browse the repository at this point in the history
  • Loading branch information
smirnov-alexey committed Oct 4, 2024
1 parent 90e2fb4 commit ae420a8
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/plugins/intel_npu/src/plugin/npuw/compiled_model.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -419,31 +419,31 @@ void ov::npuw::CompiledModel::finalize_weights_bank() {
evaluated_tensors[idx].resize(m_compiled_submodels[idx].lazy_closure.size());
auto& comp_model_desc = m_compiled_submodels[idx];

if (!comp_model_desc.replaced_by) {
// Skip optimized out
if (!comp_model_desc.compiled_model && !comp_model_desc.replaced_by) {
return;
}

const auto real_idx = comp_model_desc.replaced_by.value();
const auto real_idx = comp_model_desc.replaced_by.value_or(idx);
auto& func_desc = m_compiled_submodels[real_idx];

for (std::size_t tidx = 0; tidx < comp_model_desc.lazy_closure.size(); ++tidx) {
const auto& lt = m_compiled_submodels[idx].lazy_closure[tidx];
if (m_weights_bank->has(lt, *func_desc.device_it)) {
continue;
if (!m_weights_bank->has(lt, *func_desc.device_it)) {
evaluated_tensors[idx][tidx] = lt.eval();
}
evaluated_tensors[idx][tidx] = lt.eval();
}
});

for (size_t idx = 0; idx < m_compiled_submodels.size(); ++idx) {
auto& comp_model_desc = m_compiled_submodels[idx];

// FIXME: Head and tail don't have their closures set !!!
if (!comp_model_desc.replaced_by) {
// Skip optimized out
if (!comp_model_desc.compiled_model && !comp_model_desc.replaced_by) {
continue;
}

const auto real_idx = comp_model_desc.replaced_by.value();
const auto real_idx = comp_model_desc.replaced_by.value_or(idx);
auto& func_desc = m_compiled_submodels[real_idx];

// Due to concat some tensor should be skipped in closure
Expand Down

0 comments on commit ae420a8

Please sign in to comment.