Skip to content
Snippets Groups Projects
Commit dc7f5864 authored by Michael Kuron's avatar Michael Kuron :mortar_board:
Browse files

fix usage of posix_memalign

parent b70789b7
No related branches found
No related tags found
1 merge request!215fix aligned_alloc on windows
Pipeline #30396 passed
...@@ -282,13 +282,14 @@ class CBackend: ...@@ -282,13 +282,14 @@ class CBackend:
np_dtype = node.symbol.dtype.base_type.numpy_dtype np_dtype = node.symbol.dtype.base_type.numpy_dtype
required_size = np_dtype.itemsize * node.size + align required_size = np_dtype.itemsize * node.size + align
size = modulo_ceil(required_size, align) size = modulo_ceil(required_size, align)
code = "#if __cplusplus >= 201703L\n" code = "#if __cplusplus >= 201703L || __STDC_VERSION__ >= 201112L\n"
code += "{dtype} {name}=({dtype})aligned_alloc({align}, {size}) + {offset};\n" code += "{dtype} {name}=({dtype})aligned_alloc({align}, {size}) + {offset};\n"
code += "#elif defined(_MSC_VER)\n" code += "#elif defined(_MSC_VER)\n"
code += "{dtype} {name}=({dtype})_aligned_malloc({size}, {align}) + {offset};\n" code += "{dtype} {name}=({dtype})_aligned_malloc({size}, {align}) + {offset};\n"
code += "#else\n" code += "#else\n"
code += "{dtype} {name};\n" code += "{dtype} {name};\n"
code += "posix_memalign(&{name}, {align}, {size}) + {offset};\n" code += "posix_memalign((void**) &{name}, {align}, {size});\n"
code += "{name} += {offset};\n"
code += "#endif" code += "#endif"
return code.format(dtype=node.symbol.dtype, return code.format(dtype=node.symbol.dtype,
name=self.sympy_printer.doprint(node.symbol.name), name=self.sympy_printer.doprint(node.symbol.name),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment