Skip to content

Commit ec0859d

Browse files
committed
metal : page align the data ptr
ggml-ci
1 parent 07a1b05 commit ec0859d

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

ggml-metal.m

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2656,6 +2656,14 @@ ggml_backend_buffer_t ggml_backend_metal_buffer_from_ptr(void * data, size_t siz
26562656
ctx->n_buffers = 0;
26572657

26582658
const size_t size_page = sysconf(_SC_PAGESIZE);
2659+
2660+
// page-align the data ptr
2661+
{
2662+
const uintptr_t offs = (uintptr_t) data % size_page;
2663+
data = (void *) ((char *) data - offs);
2664+
size += offs;
2665+
}
2666+
26592667
size_t size_aligned = size;
26602668
if ((size_aligned % size_page) != 0) {
26612669
size_aligned += (size_page - (size_aligned % size_page));

0 commit comments

Comments
 (0)