Skip to content

Commit 122788e

Browse files
committed
Prepare BlobContainerAlignedBuffer for OV versioning metadata
1 parent cedf19c commit 122788e

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

src/plugins/intel_npu/src/common/include/intel_npu/common/blob_container.hpp

+10-5
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,20 @@ class BlobContainerVector : public BlobContainer {
4646

4747
class BlobContainerAlignedBuffer : public BlobContainer {
4848
public:
49-
BlobContainerAlignedBuffer(const std::shared_ptr<ov::AlignedBuffer>& blobSO, size_t offset)
49+
BlobContainerAlignedBuffer(const std::shared_ptr<ov::AlignedBuffer>& blobSO,
50+
size_t ovHeaderOffset,
51+
size_t metadataSize)
5052
: _ownershipBlob(blobSO),
51-
_offset(offset) {}
53+
_ovHeaderOffset(ovHeaderOffset),
54+
_metadataSize(metadataSize) {}
5255

5356
void* get_ptr() override {
54-
return _ownershipBlob->get_ptr(_offset);
57+
return _ownershipBlob->get_ptr(_ovHeaderOffset);
5558
}
5659

5760
size_t size() const override {
58-
return _ownershipBlob->size();
61+
// remove OV header offset and metadata from blob size
62+
return _ownershipBlob->size() - _ovHeaderOffset - _metadataSize;
5963
}
6064

6165
bool release_from_memory() override {
@@ -64,7 +68,8 @@ class BlobContainerAlignedBuffer : public BlobContainer {
6468

6569
private:
6670
std::shared_ptr<ov::AlignedBuffer> _ownershipBlob;
67-
size_t _offset;
71+
size_t _ovHeaderOffset;
72+
size_t _metadataSize;
6873
};
6974

7075
} // namespace intel_npu

src/plugins/intel_npu/src/plugin/src/plugin.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -773,7 +773,7 @@ std::shared_ptr<ov::ICompiledModel> Plugin::import_model(std::istream& stream, c
773773

774774
blobPtr = std::make_unique<BlobContainerVector>(std::move(blob));
775775
} else {
776-
blobPtr = std::make_unique<BlobContainerAlignedBuffer>(modelBuffer, stream.tellg());
776+
blobPtr = std::make_unique<BlobContainerAlignedBuffer>(modelBuffer, stream.tellg(), 0);
777777
}
778778

779779
auto graph = compiler->parse(std::move(blobPtr), localConfig);

0 commit comments

Comments
 (0)