Fix meson build options to support ARM properly
authorDonghyeon Jeong <dhyeon.jeong@samsung.com>
Mon, 7 Aug 2023 01:48:12 +0000 (10:48 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Mon, 21 Aug 2023 06:29:23 +0000 (15:29 +0900)
- Check for non-android ARM machines
- Use blas_neon.cpp only for ARM machines

Signed-off-by: Donghyeon Jeong <dhyeon.jeong@samsung.com>
meson.build
nntrainer/tensor/meson.build

index d4fb43f..348f847 100644 (file)
@@ -79,6 +79,8 @@ if get_option('enable-fp16')
    if get_option('platform') == 'android'
      add_project_arguments('-mfp16-format=ieee', language: ['c', 'cpp'])
      extra_defines += '-DUSE__FP16=1'
+   elif arch == 'aarch64' or arch =='arm'
+     extra_defines += '-DUSE__FP16=1'
    else
      has_avx512fp16 = cc.has_argument('-mavx512fp16')
      if (has_avx512fp16)
index 39edb3a..06568ba 100644 (file)
@@ -17,7 +17,6 @@ tensor_sources = [
   'optimized_v2_planner.cpp',
   'optimized_v3_planner.cpp',
   'task_executor.cpp',
-  'blas_neon.cpp',
 ]
 
 tensor_headers = [
@@ -26,6 +25,12 @@ tensor_headers = [
   'tensor_wrap_specs.h'
 ]
 
+arch = target_machine.cpu_family()
+
+if get_option('platform') == 'android' or arch == 'aarch64' or arch =='arm'
+  tensor_sources += 'blas_neon.cpp'
+endif
+
 foreach s : tensor_sources
   nntrainer_sources += meson.current_source_dir() / s
 endforeach