diff options
Diffstat (limited to 'eval/src/tests/ann/sift_benchmark.cpp')
-rw-r--r-- | eval/src/tests/ann/sift_benchmark.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/eval/src/tests/ann/sift_benchmark.cpp b/eval/src/tests/ann/sift_benchmark.cpp index 7c060d86371..022c9404f5d 100644 --- a/eval/src/tests/ann/sift_benchmark.cpp +++ b/eval/src/tests/ann/sift_benchmark.cpp @@ -30,11 +30,13 @@ struct PointVector { static PointVector *aligned_alloc(size_t num) { size_t sz = num * sizeof(PointVector); - size_t align = 512; - while ((sz % align) != 0) { align /= 2; } double mega_bytes = sz / (1024.0*1024.0); - fprintf(stderr, "allocate %.2f MB of vectors (align %zu)\n", mega_bytes, align); - void *mem = std::aligned_alloc(align, sz); + fprintf(stderr, "allocate %.2f MB of vectors\n", mega_bytes); + char *mem = (char *)malloc(sz + 512); + mem += 512; + size_t val = (size_t)mem; + size_t unalign = val % 512; + mem -= unalign; return reinterpret_cast<PointVector *>(mem); } |