Commit e18b4aa1 authored by Andreas Marek's avatar Andreas Marek
Browse files

Update m4 macro for kernel detection

parent 855b52e9
...@@ -16,26 +16,55 @@ AC_DEFUN([DEFINE_OPTION_SPECIFIC_REAL_KERNEL],[ ...@@ -16,26 +16,55 @@ AC_DEFUN([DEFINE_OPTION_SPECIFIC_REAL_KERNEL],[
dnl make sure that all the other kernels are unset dnl make sure that all the other kernels are unset
install_real_generic=no install_real_generic=no
install_real_generic_simple=no install_real_generic_simple=no
install_real_sse=no install_real_sse_assembly=no
install_real_bgp=no install_real_bgp=no
install_real_bgq=no install_real_bgq=no
install_real_sse_block2=no
install_real_sse_block4=no
install_real_sse_block6=no
install_real_avx_block2=no install_real_avx_block2=no
install_real_avx_block4=no install_real_avx_block4=no
install_real_avx_block6=no install_real_avx_block6=no
want_sse=no
want_avx=no want_avx=no
install_gpu=no want_avx2=no
# install_gpu=no
use_specific_real_kernel=yes use_specific_real_kernel=yes
dnl now set the specific kernel dnl now set the specific kernel
$3=yes $3=yes
dnl in case of SSE or AVX make sure that we can compile the choosen kernel dnl in case of SSE or AVX make sure that we can compile the choosen kernel
if test x"${install_real_sse}" = x"yes" ; then if test x"${install_real_sse_assembly}" = x"yes" ; then
if test x"${can_compile_sse}" = x"no" ; then if test x"${can_compile_sse_assembly}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!]) AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
fi fi
fi fi
if test x"${install_real_sse_block2}" = x"yes" ; then
if test x"${can_compile_sse_intrinsics}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
else
want_sse=yes
fi
fi
if test x"${install_real_sse_block4}" = x"yes" ; then
if test x"${can_compile_sse_intrinsics}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
else
want_sse=yes
fi
fi
if test x"${install_real_sse_block6}" = x"yes" ; then
if test x"${can_compile_sse_inrinsics}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
else
want_sse=yes
fi
fi
if test x"${install_real_avx_block2}" = x"yes" ; then if test x"${install_real_avx_block2}" = x"yes" ; then
if test x"${can_compile_avx}" = x"no" ; then if test x"${can_compile_avx}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!]) AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
...@@ -61,11 +90,11 @@ AC_DEFUN([DEFINE_OPTION_SPECIFIC_REAL_KERNEL],[ ...@@ -61,11 +90,11 @@ AC_DEFUN([DEFINE_OPTION_SPECIFIC_REAL_KERNEL],[
fi fi
AC_MSG_NOTICE([$1 will be the only compiled kernel for real case]) AC_MSG_NOTICE([$1 will be the only compiled kernel for real case])
if test x"${want_gpu}" = x"yes" ; then # if test x"${want_gpu}" = x"yes" ; then
AC_MSG_WARN([At the moment this disables GPU support!]) # AC_MSG_WARN([At the moment this disables GPU support!])
AC_MSG_WARN([IF GPU support is wanted do NOT specify a specific real kernel]) # AC_MSG_WARN([IF GPU support is wanted do NOT specify a specific real kernel])
fi # fi
else # else
AC_MSG_FAILURE([$1 failed; A specific kernel for real case has already been defined before!]) AC_MSG_FAILURE([$1 failed; A specific kernel for real case has already been defined before!])
fi fi
fi fi
...@@ -84,25 +113,44 @@ AC_DEFUN([DEFINE_OPTION_SPECIFIC_COMPLEX_KERNEL],[ ...@@ -84,25 +113,44 @@ AC_DEFUN([DEFINE_OPTION_SPECIFIC_COMPLEX_KERNEL],[
dnl make sure that all the other kernels are unset dnl make sure that all the other kernels are unset
install_complex_generic=no install_complex_generic=no
install_complex_generic_simple=no install_complex_generic_simple=no
install_complex_sse=no install_complex_sse_assembly=no
install_complex_bgp=no install_complex_bgp=no
install_complex_bgq=no install_complex_bgq=no
install_complex_sse_block1=no
install_complex_sse_block2=no
install_complex_avx_block1=no install_complex_avx_block1=no
install_complex_avx_block2=no install_complex_avx_block2=no
want_sse=no
want_avx=no want_avx=no
want_avx2=no
install_gpu=no # install_gpu=no
use_specific_complex_kernel=yes use_specific_complex_kernel=yes
dnl now set the specific kernel dnl now set the specific kernel
$3=yes $3=yes
dnl in case of SSE or AVX make sure that we can compile the choosen kernel dnl in case of SSE or AVX make sure that we can compile the choosen kernel
if test x"${install_complex_sse}" = x"yes" ; then if test x"${install_complex_sse_assembly}" = x"yes" ; then
if test x"${can_compile_sse}" = x"no" ; then if test x"${can_compile_sse_assembly}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!]) AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
fi fi
fi fi
if test x"${install_complex_sse_block1}" = x"yes" ; then
if test x"${can_compile_sse_intrinsics}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
else
want_sse=yes
fi
fi
if test x"${install_complex_sse_block2}" = x"yes" ; then
if test x"${can_compile_sse_intrinsics}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
else
want_sse=yes
fi
fi
if test x"${install_complex_avx_block1}" = x"yes" ; then if test x"${install_complex_avx_block1}" = x"yes" ; then
if test x"${can_compile_avx}" = x"no" ; then if test x"${can_compile_avx}" = x"no" ; then
AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!]) AC_MSG_ERROR([$2 kernel was set, but cannot be compiled!])
...@@ -120,10 +168,10 @@ AC_DEFUN([DEFINE_OPTION_SPECIFIC_COMPLEX_KERNEL],[ ...@@ -120,10 +168,10 @@ AC_DEFUN([DEFINE_OPTION_SPECIFIC_COMPLEX_KERNEL],[
fi fi
AC_MSG_NOTICE([$1 will be the only compiled kernel for real case]) AC_MSG_NOTICE([$1 will be the only compiled kernel for real case])
if test x"${want_gpu}" = x"yes" ; then # if test x"${want_gpu}" = x"yes" ; then
AC_MSG_WARN([At the moment this disables GPU support!]) # AC_MSG_WARN([At the moment this disables GPU support!])
AC_MSG_WARN([IF GPU support is wanted do NOT specify a specific complex kernel]) # AC_MSG_WARN([IF GPU support is wanted do NOT specify a specific complex kernel])
fi # fi
else else
AC_MSG_FAILURE([$1 failed; A specific kernel for real case has already been defined before!]) AC_MSG_FAILURE([$1 failed; A specific kernel for real case has already been defined before!])
fi fi
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment