diff --git a/pystencils/backends/simd_instruction_sets.py b/pystencils/backends/simd_instruction_sets.py index 6af548048c6784d65aa9a1537c953d56ce03e346..cdb2ee5cf16694be5499718b1d5275ddbc8a87dc 100644 --- a/pystencils/backends/simd_instruction_sets.py +++ b/pystencils/backends/simd_instruction_sets.py @@ -43,7 +43,8 @@ def get_supported_instruction_sets(): return _cache.copy() if 'PYSTENCILS_SIMD' in os.environ: return os.environ['PYSTENCILS_SIMD'].split(',') - if platform.system() == 'Darwin' and platform.machine() == 'arm64': # not supported by cpuinfo + if (platform.system() == 'Darwin' or platform.system() == 'Linux') and platform.machine() == 'arm64': + # not supported by cpuinfo return ['neon'] elif platform.system() == 'Linux' and platform.machine().startswith('riscv'): # not supported by cpuinfo libc = CDLL('libc.so.6') diff --git a/pystencils/cpu/cpujit.py b/pystencils/cpu/cpujit.py index ca4f267944de80d45e1754ca6d32cf7741b7000a..19c09c47ad58619330b50846eef2237424a93534 100644 --- a/pystencils/cpu/cpujit.py +++ b/pystencils/cpu/cpujit.py @@ -146,7 +146,9 @@ def read_config(): ('flags', '-Ofast -DNDEBUG -fPIC -march=native -fopenmp -std=c++11'), ('restrict_qualifier', '__restrict__') ]) - if platform.machine().startswith('ppc64'): + if platform.machine() == 'arm64': + default_compiler_config['flags'] = default_compiler_config['flags'].replace('-march=native', '') + elif platform.machine().startswith('ppc64'): default_compiler_config['flags'] = default_compiler_config['flags'].replace('-march=native', '-mcpu=native') elif platform.system().lower() == 'windows':