Skip to content

Commit 8bcf72d

Browse files
MatthiasKreiledercopybara-github
authored andcommitted
Allocate extra XNNPack bytes for kLiteRtTensorBufferTypeHostMemory buffers
LiteRT-PiperOrigin-RevId: 820280256
1 parent 3d9cee5 commit 8bcf72d

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

litert/runtime/tensor_buffer.cc

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,15 @@
4949
#include <CL/cl.h>
5050
#endif // LITERT_HAS_OPENCL_SUPPORT
5151

52+
// TODO(b/449784615): Include xnnpack.h instead of duplicating the macros.
53+
#ifndef XNN_EXTRA_BYTES
54+
#if defined(__hexagon__)
55+
#define XNN_EXTRA_BYTES 128
56+
#else
57+
#define XNN_EXTRA_BYTES 16
58+
#endif // defined(__hexagon__)
59+
#endif // XNN_EXTRA_BYTES
60+
5261
using litert::BufferTypeToString;
5362
using litert::Expected;
5463
using litert::Unexpected;
@@ -223,7 +232,8 @@ LiteRtTensorBufferT::CreateManagedOnHostMemory(
223232
const LiteRtRankedTensorType& tensor_type, size_t buffer_size,
224233
size_t alignment) {
225234
void* host_memory_ptr;
226-
if (auto rc = posix_memalign(&host_memory_ptr, alignment, buffer_size);
235+
if (auto rc = posix_memalign(&host_memory_ptr, alignment,
236+
buffer_size + XNN_EXTRA_BYTES);
227237

228238
rc) {
229239
return Unexpected(kLiteRtStatusErrorRuntimeFailure,

0 commit comments

Comments
 (0)