@@ -92,7 +92,8 @@ TensorStruct<float> MultimodalEmbeddingMerger::merge(
9292 " No text embeddings added. Call add_text_embeddings() first." );
9393
9494 // Final merged embeddings
95- std::vector<float > merged_buffer;
95+ std::shared_ptr<std::vector<float >> merged_buffer =
96+ std::make_shared<std::vector<float >>();
9697 std::vector<executorch::aten::TensorImpl::SizesType> sizes;
9798 TensorStruct<float > merged_embeddings;
9899
@@ -121,7 +122,7 @@ TensorStruct<float> MultimodalEmbeddingMerger::merge(
121122 total_tokens_ = total_tokens_ - num_placeholder_tokens;
122123
123124 size_t total_elements = total_tokens_ * embedding_dim_;
124- merged_buffer. resize (total_elements);
125+ merged_buffer-> resize (total_elements);
125126
126127 // Merge embeddings based on input_ids
127128 size_t text_emb_idx = 0 ; // Which text embedding chunk in current turn
@@ -144,7 +145,7 @@ TensorStruct<float> MultimodalEmbeddingMerger::merge(
144145
145146 size_t num_elements = num_image_tokens * embedding_dim_;
146147 std::memcpy (
147- merged_buffer. data () + output_offset,
148+ merged_buffer-> data () + output_offset,
148149 image_buffer.data (),
149150 num_elements * sizeof (float ));
150151
@@ -160,7 +161,7 @@ TensorStruct<float> MultimodalEmbeddingMerger::merge(
160161 const std::vector<float >& text_buffer =
161162 text_embedding_buffers_[text_emb_idx];
162163 std::memcpy (
163- merged_buffer. data () + output_offset,
164+ merged_buffer-> data () + output_offset,
164165 text_buffer.data () + text_token_idx * embedding_dim_,
165166 embedding_dim_ * sizeof (float ));
166167
@@ -176,7 +177,8 @@ TensorStruct<float> MultimodalEmbeddingMerger::merge(
176177 image_embedding_buffers_.size ());
177178
178179 // Setup tensor metadata
179- merged_embeddings.data = merged_buffer.data ();
180+ merged_embeddings.buffer = merged_buffer;
181+ merged_embeddings.data = merged_buffer->data ();
180182 merged_embeddings.size = total_elements * sizeof (float );
181183
182184 // Setup sizes and dim_order: [1, total_tokens, embedding_dim]
0 commit comments