a first version which handles AMD cards as well.
This commit is contained in:
parent
2d4697c750
commit
40337b00ad
74
configure.ac
74
configure.ac
@ -1,7 +1,7 @@
|
|||||||
AC_REVISION([m4_esyscmd_s([git describe --always])])
|
AC_REVISION([m4_esyscmd_s([git describe --always])])
|
||||||
|
|
||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
AC_INIT([musrfit],[0.18.0],[andreas.suter@psi.ch])
|
AC_INIT([musrfit],[1.0.0],[andreas.suter@psi.ch])
|
||||||
AC_CONFIG_AUX_DIR(admin)
|
AC_CONFIG_AUX_DIR(admin)
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
#AC_MSG_RESULT([${host} ${host_cpu} ${host_vendor} ${host_os}])
|
#AC_MSG_RESULT([${host} ${host_cpu} ${host_vendor} ${host_os}])
|
||||||
@ -34,8 +34,8 @@ dnl -----------------------------------------------
|
|||||||
|
|
||||||
|
|
||||||
#release versioning
|
#release versioning
|
||||||
MUSR_MAJOR_VERSION=0
|
MUSR_MAJOR_VERSION=1
|
||||||
MUSR_MINOR_VERSION=18
|
MUSR_MINOR_VERSION=0
|
||||||
MUSR_MICRO_VERSION=0
|
MUSR_MICRO_VERSION=0
|
||||||
|
|
||||||
#release versioning
|
#release versioning
|
||||||
@ -875,8 +875,7 @@ AC_ARG_ENABLE([dks], [AS_HELP_STRING([--enable-dks],[build musrfit with DKS (GPU
|
|||||||
DKS_CFLAGS=""
|
DKS_CFLAGS=""
|
||||||
|
|
||||||
dnl ---------------------------------------------
|
dnl ---------------------------------------------
|
||||||
dnl Check (i) that Cuda is found. (ii) that DKS is found
|
dnl Check (i) that Cuda is found, if not check OpenCL. (ii) that DKS is found
|
||||||
dnl Eventually also openCL only should be tested, i.e. DKS without Cuda
|
|
||||||
dnl This could also mean openCL without GPU, e.g. on Mac OS X
|
dnl This could also mean openCL without GPU, e.g. on Mac OS X
|
||||||
dnl ---------------------------------------------
|
dnl ---------------------------------------------
|
||||||
|
|
||||||
@ -902,22 +901,59 @@ AC_ARG_ENABLE([dks], [AS_HELP_STRING([--enable-dks],[build musrfit with DKS (GPU
|
|||||||
if test -x "$cuda_prefix/bin/nvcc"; then
|
if test -x "$cuda_prefix/bin/nvcc"; then
|
||||||
AC_MSG_RESULT([found])
|
AC_MSG_RESULT([found])
|
||||||
AC_DEFINE_UNQUOTED([NVCC_PATH], ["$cuda_prefix/bin/nvcc"], [path to nvcc binary])
|
AC_DEFINE_UNQUOTED([NVCC_PATH], ["$cuda_prefix/bin/nvcc"], [path to nvcc binary])
|
||||||
else
|
CUDA_FOUND="true"
|
||||||
AC_MSG_RESULT([not found!])
|
|
||||||
AC_MSG_FAILURE([nvcc was not found in $cuda_prefix/bin])
|
|
||||||
fi
|
|
||||||
|
|
||||||
CUDA_CFLAGS="-I$cuda_prefix/include"
|
CUDA_CFLAGS="-I$cuda_prefix/include"
|
||||||
CXXFLAGS="$CUDA_CFLAGS $CXXFLAGS"
|
CXXFLAGS="$CUDA_CFLAGS $CXXFLAGS"
|
||||||
CUDA_LDFLAGS="-L$cuda_prefix/lib64"
|
CUDA_LDFLAGS="-L$cuda_prefix/lib64"
|
||||||
LDFLAGS="$CUDA_LDFLAGS $LDFLAGS"
|
LDFLAGS="$CUDA_LDFLAGS $LDFLAGS"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([not found!])
|
||||||
|
AC_MSG_WARN([nvcc was not found in $cuda_prefix/bin])
|
||||||
|
fi
|
||||||
|
|
||||||
dnl And the header and the lib
|
dnl if cuda has been found check the header and the lib
|
||||||
|
if test "$CUDA_FOUND" == "yes"; then
|
||||||
AC_CHECK_HEADER([cuda.h], [], AC_MSG_FAILURE([Couldn't find cuda.h]), [#include <cuda.h>])
|
AC_CHECK_HEADER([cuda.h], [], AC_MSG_FAILURE([Couldn't find cuda.h]), [#include <cuda.h>])
|
||||||
AC_CHECK_LIB([cuda], [cuInit], [], AC_MSG_FAILURE([Couldn't find libcuda]))
|
AC_CHECK_LIB([cuda], [cuInit], [], AC_MSG_FAILURE([Couldn't find libcuda]))
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl ---------------------------------------------
|
||||||
|
dnl check for openCL in case CUDA is not found
|
||||||
|
dnl ---------------------------------------------
|
||||||
|
AC_ARG_WITH([opencl],
|
||||||
|
[AS_HELP_STRING([--with-opencl],[prefix of the OpenCL installation, e.g. /opt/AMDAPPSDK-3.0/])],
|
||||||
|
[opencl_prefix=$withval],
|
||||||
|
[opencl_prefix="/opt/AMDAPPSDK-3.0"])
|
||||||
|
|
||||||
|
if test ! "$CUDA_FOUND" == "yes"; then
|
||||||
|
AC_MSG_NOTICE([CUDA not found, will try to find OpenCL])
|
||||||
|
AC_MSG_CHECKING([whether OpenCL is installed in a standard location])
|
||||||
|
if test "$opencl_prefix" == "yes"; then
|
||||||
|
if test "$withval" == "yes"; then
|
||||||
|
opencl_prefix="/opt/AMDAPPSDK-3.0"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT([${opencl_prefix}])
|
||||||
|
|
||||||
|
dnl Checking for opencl.h and libOpenCL.so
|
||||||
|
if test ! "$ARCH" = "DARWIN"; then
|
||||||
|
AC_MSG_NOTICE([linux like system])
|
||||||
|
if test -x "$opencl_prefix/include/CL/opencl.h"; then
|
||||||
|
OPENCL_CFLAGS="-I$opencl_prefix/include/"
|
||||||
|
CXXFLAGS="$OPENCL_CFLAGS $CXXFLAGS"
|
||||||
|
OPENCL_LDFLAGS="-L$opencl_prefix/lib/x86_64/"
|
||||||
|
LDFLAGS="$OPENCL_LDFLAGS $LDFLAGS"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT([not found!])
|
||||||
|
AC_MSG_FAILURE([neither CUDA nor OpenCL found])
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
AC_MSG_NOTICE([Apple macOS system, not yet implemented])
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
dnl -------------------------------------------
|
dnl -------------------------------------------
|
||||||
dnl check for DKS
|
dnl check for DKSlibOpenCL.so
|
||||||
dnl -------------------------------------------
|
dnl -------------------------------------------
|
||||||
AC_ARG_WITH([dks],
|
AC_ARG_WITH([dks],
|
||||||
[AS_HELP_STRING([--with-dks],[prefix of the DKS installation, e.g. /usr/local/DKS/build])],
|
[AS_HELP_STRING([--with-dks],[prefix of the DKS installation, e.g. /usr/local/DKS/build])],
|
||||||
@ -940,12 +976,18 @@ AC_ARG_ENABLE([dks], [AS_HELP_STRING([--enable-dks],[build musrfit with DKS (GPU
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
AC_DEFINE([HAVE_DKS], [1], [Define to 1 if DKS is available])
|
AC_DEFINE([HAVE_DKS], [1], [Define to 1 if DKS is available])
|
||||||
dnl AC_DEFINE([DKS_CUDA], [1], [Define to 1 if DKS Cuda is available])
|
|
||||||
DKS_CUDADIR="$cuda_prefix"
|
|
||||||
DKS_INCDIR="$dks_prefix/include"
|
DKS_INCDIR="$dks_prefix/include"
|
||||||
DKS_CFLAGS="-DDKS_OPENCL -DDKS_CUDA -I${DKS_INCDIR} ${CUDA_CFLAGS}"
|
|
||||||
DKS_LIBDIR="$dks_prefix/lib"
|
DKS_LIBDIR="$dks_prefix/lib"
|
||||||
|
if test "$CUDA_FOUND" == "yes"; then
|
||||||
|
DKS_CUDADIR="$cuda_prefix"
|
||||||
|
DKS_CFLAGS="-DDKS_OPENCL -DDKS_CUDA -I${DKS_INCDIR} ${CUDA_CFLAGS}"
|
||||||
DKS_LIBS="${CUDA_LDFLAGS} -lOpenCL -L${DKS_LIBDIR} -ldksshared"
|
DKS_LIBS="${CUDA_LDFLAGS} -lOpenCL -L${DKS_LIBDIR} -ldksshared"
|
||||||
|
else
|
||||||
|
DKS_OPENCLDIR="$opencl_prefix"
|
||||||
|
DKS_CFLAGS="-DDKS_OPENCL -I${DKS_INCDIR} ${OPENCL_CFLAGS}"
|
||||||
|
DKS_LIBS="${OPENCL_LDFLAGS} -lOpenCL -L${DKS_LIBDIR} -ldksshared"
|
||||||
|
fi
|
||||||
|
|
||||||
AC_SUBST(DKS_CFLAGS)
|
AC_SUBST(DKS_CFLAGS)
|
||||||
AC_SUBST(DKS_LIBS)
|
AC_SUBST(DKS_LIBS)
|
||||||
|
|
||||||
@ -1452,7 +1494,7 @@ else
|
|||||||
fi
|
fi
|
||||||
echo ""
|
echo ""
|
||||||
if test "${DKS_ENABLED}" = "1"; then
|
if test "${DKS_ENABLED}" = "1"; then
|
||||||
echo " DKS enabled"
|
echo " DKS enabled and found at ${dks_prefix}"
|
||||||
else
|
else
|
||||||
echo " DKS disabled"
|
echo " DKS disabled"
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user