Skip to content

Commit 21f3fc3

Browse files
authored
ggml : posixify pagesize (ggml-org#1251)
* ggml : use sysconf(_SC_PAGESIZE) instead of getpagesize() derived from BSD sed -i 's,getpagesize(),sysconf(_SC_PAGESIZE),g' ggml.c * metal : use sysconf(_SC_PAGESIZE) instead of getpagesize() derived from BSD sed -i 's,getpagesize(),sysconf(_SC_PAGESIZE),g' ggml-metal.m
1 parent a4f1b00 commit 21f3fc3

File tree

2 files changed

+3
-3
lines changed

2 files changed

+3
-3
lines changed

ggml-metal.m

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ void ggml_metal_free(struct ggml_metal_context * ctx) {
327327

328328
void * ggml_metal_host_malloc(size_t n) {
329329
void * data = NULL;
330-
const int result = posix_memalign((void **) &data, getpagesize(), n);
330+
const int result = posix_memalign((void **) &data, sysconf(_SC_PAGESIZE), n);
331331
if (result != 0) {
332332
metal_printf("%s: error: posix_memalign failed\n", __func__);
333333
return NULL;
@@ -401,7 +401,7 @@ bool ggml_metal_add_buffer(
401401
}
402402
}
403403

404-
const size_t size_page = getpagesize();
404+
const size_t size_page = sysconf(_SC_PAGESIZE);
405405

406406
size_t size_aligned = size;
407407
if ((size_aligned % size_page) != 0) {

ggml.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ typedef void * thread_ret_t;
198198
inline static void * ggml_aligned_malloc(size_t size) {
199199
void * aligned_memory = NULL;
200200
#ifdef GGML_USE_METAL
201-
int result = posix_memalign(&aligned_memory, getpagesize(), size);
201+
int result = posix_memalign(&aligned_memory, sysconf(_SC_PAGESIZE), size);
202202
#else
203203
int result = posix_memalign(&aligned_memory, GGML_MEM_ALIGN, size);
204204
#endif

0 commit comments

Comments
 (0)