mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-10 15:55:37 +00:00
d0e4673a3f
cut at Conjugate gradient. Also copied in Remez, Zolotarev, Chebyshev from Mike Clark, Tony Kennedy and my BFM package respectively since we know we will need these. I wanted the structure of algorithms/approx algorithms/iterative etc.. to start taking shape.
87 lines
2.3 KiB
Plaintext
87 lines
2.3 KiB
Plaintext
# Process this file with autoconf to produce a configure script.
|
|
AC_INIT([Grid], [1.0], [paboyle@ph.ed.ac.uk])
|
|
AM_INIT_AUTOMAKE(subdir-objects)
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AC_CONFIG_SRCDIR([lib/Grid.h])
|
|
AC_CONFIG_HEADERS([lib/Grid_config.h])
|
|
|
|
# Checks for programs.
|
|
AC_LANG(C++)
|
|
AC_PROG_CXX
|
|
AC_OPENMP
|
|
AC_PROG_RANLIB
|
|
|
|
# Checks for libraries.
|
|
#AX_GCC_VAR_ATTRIBUTE(aligned)
|
|
|
|
# Checks for header files.
|
|
AC_CHECK_HEADERS(stdint.h)
|
|
AC_CHECK_HEADERS(mm_malloc.h)
|
|
AC_CHECK_HEADERS(malloc/malloc.h)
|
|
AC_CHECK_HEADERS(malloc.h)
|
|
AC_CHECK_HEADERS(endian.h)
|
|
AC_CHECK_HEADERS(gmp.h)
|
|
AC_CHECK_DECLS([ntohll],[], [], [[#include <arpa/inet.h>]])
|
|
AC_CHECK_DECLS([be64toh],[], [], [[#include <arpa/inet.h>]])
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
AC_TYPE_SIZE_T
|
|
AC_TYPE_UINT32_T
|
|
AC_TYPE_UINT64_T
|
|
|
|
# Checks for library functions.
|
|
AC_CHECK_FUNCS([gettimeofday])
|
|
|
|
AC_ARG_ENABLE([simd],[AC_HELP_STRING([--enable-simd=SSE|AVX|AVX2|AVX512|MIC],\
|
|
[Select instructions to be SSE4.0, AVX 1.0, AVX 2.0+FMA, AVX 512, MIC])],\
|
|
[ac_SIMD=${enable_simd}],[ac_SIMD=AVX2])
|
|
|
|
case ${ac_SIMD} in
|
|
SSE4)
|
|
echo Configuring for SSE4
|
|
AC_DEFINE([SSE4],[1],[SSE4] )
|
|
;;
|
|
AVX)
|
|
echo Configuring for AVX
|
|
AC_DEFINE([AVX1],[1],[AVX] )
|
|
;;
|
|
AVX2)
|
|
echo Configuring for AVX2
|
|
AC_DEFINE([AVX2],[1],[AVX2] )
|
|
;;
|
|
AVX512|MIC)
|
|
echo Configuring for AVX512 and MIC
|
|
AC_DEFINE([AVX512],[1],[AVX512] )
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([${ac_SIMD} unsupported --enable-simd option]);
|
|
;;
|
|
esac
|
|
|
|
|
|
AC_ARG_ENABLE([comms],[AC_HELP_STRING([--enable-comms=none|mpi],[Select communications])],[ac_COMMS=${enable_comms}],[ac_COMMS=none])
|
|
|
|
case ${ac_COMMS} in
|
|
none)
|
|
echo Configuring for NO communications
|
|
AC_DEFINE([GRID_COMMS_NONE],[1],[GRID_COMMS_NONE] )
|
|
;;
|
|
mpi)
|
|
echo Configuring for MPI communications
|
|
AC_DEFINE([GRID_COMMS_MPI],[1],[GRID_COMMS_MPI] )
|
|
;;
|
|
*)
|
|
AC_MSG_ERROR([${ac_COMMS} unsupported --enable-comms option]);
|
|
;;
|
|
esac
|
|
|
|
AM_CONDITIONAL(BUILD_COMMS_MPI,[ test "X${ac_COMMS}X" == "XmpiX" ])
|
|
AM_CONDITIONAL(BUILD_COMMS_NONE,[ test "X${ac_COMMS}X" == "XnoneX" ])
|
|
|
|
|
|
AC_CONFIG_FILES(Makefile)
|
|
AC_CONFIG_FILES(lib/Makefile)
|
|
AC_CONFIG_FILES(tests/Makefile)
|
|
AC_CONFIG_FILES(benchmarks/Makefile)
|
|
AC_OUTPUT
|