Commit bf0199e5 authored by Nathanael Schaeffer's avatar Nathanael Schaeffer
Browse files

Improved configure script to avoid some compilation issues.

parent 34e7bbb3
......@@ -68,6 +68,10 @@ DOCUMENTATION:
CHANGE LOG:
-----------
* v3.0.1 (25 Jun 2018)
- fix typo preventing compilation of AVX512 code-path.
- improved configure script to avoid some compilation issues.
* v3.0 (28 Feb 2018)
- support for nvidia Kepler & Pascal GPU with `--enable-cuda` (including automatic offload).
- Java JNI wrapper (beta, see `shtns_jni` folder -- thanks to Julien Pierret).
......
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for SHTns 3.0.
# Generated by GNU Autoconf 2.69 for SHTns 3.0.1.
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
......@@ -577,8 +577,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='SHTns'
PACKAGE_TARNAME='shtns'
PACKAGE_VERSION='3.0'
PACKAGE_STRING='SHTns 3.0'
PACKAGE_VERSION='3.0.1'
PACKAGE_STRING='SHTns 3.0.1'
PACKAGE_BUGREPORT=''
PACKAGE_URL='https://bitbucket.org/nschaeff/shtns'
......@@ -1251,7 +1251,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures SHTns 3.0 to adapt to many kinds of systems.
\`configure' configures SHTns 3.0.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
......@@ -1312,7 +1312,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of SHTns 3.0:";;
short | recursive ) echo "Configuration of SHTns 3.0.1:";;
esac
cat <<\_ACEOF
......@@ -1420,7 +1420,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
SHTns configure 3.0
SHTns configure 3.0.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
......@@ -1877,7 +1877,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by SHTns $as_me 3.0, which was
It was created by SHTns $as_me 3.0.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
......@@ -3903,16 +3903,6 @@ if test "x$enable_python" != "xno"; then :
enable_openmp=yes
fi
fi
# for MagIC code, also disable matrix transforms and switch to many-core.
if test "x$enable_magic_layout" != "xno"; then :
enable_mem=no
$as_echo "#define SHTNS4MAGIC 1" >>confdefs.h
fi
# On many-core systems, enable openmp by default, and disable precomputed matrix support.
......@@ -3923,6 +3913,16 @@ if test "x$enable_many_core" != "xno"; then :
enable_openmp=yes
fi
fi
# for MagIC code, also disable matrix transforms and switch to many-core code (possibly without openmp).
if test "x$enable_magic_layout" != "xno"; then :
enable_mem=no
enable_many_core=yes # optimize for many-core architecture
$as_echo "#define SHTNS4MAGIC 1" >>confdefs.h
fi
nvcc_flags=""
......@@ -4355,8 +4355,7 @@ _ACEOF
LIBS="-lfftw3_omp $LIBS"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: FFTW3 does not support OpenMP. Bad multi-threaded performance expected." >&5
$as_echo "$as_me: WARNING: FFTW3 does not support OpenMP. Bad multi-threaded performance expected." >&2;}
as_fn_error $? "FFTW3 does not support OpenMP. Did you compile it with --enable-openmp ?." "$LINENO" 5
fi
......@@ -4407,7 +4406,7 @@ fi
CFLAGS="$CFLAGS -fpic" # required compile flag for python extensions.
target="_shtns.so" # build python extension instead of C library.
target="_shtns.so" # build python extension instead of C library.
install="install-py" # install python extension instead of C library.
fi
......@@ -5412,7 +5411,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by SHTns $as_me 3.0, which was
This file was extended by SHTns $as_me 3.0.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
......@@ -5475,7 +5474,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
SHTns config.status 3.0
SHTns config.status 3.0.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
......
......@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.62])
AC_INIT([SHTns],[3.0],[],[shtns],[https://bitbucket.org/nschaeff/shtns])
AC_INIT([SHTns],[3.0.1],[],[shtns],[https://bitbucket.org/nschaeff/shtns])
AC_LANG([C])
AC_CONFIG_SRCDIR([sht_init.c])
AC_CONFIG_HEADERS([sht_config.h])
......@@ -105,17 +105,17 @@ AS_IF([test "x$enable_python" != "xno"], [
AS_IF([test "x$enable_openmp" = "xdefault"], [enable_openmp=yes])
])
# for MagIC code, also disable matrix transforms and switch to many-core.
AS_IF([test "x$enable_magic_layout" != "xno"], [
enable_mem=no
AC_DEFINE([SHTNS4MAGIC],[1],[I need the transforms compatible with the MagIC code, to speed it up!])
])
# On many-core systems, enable openmp by default, and disable precomputed matrix support.
AS_IF([test "x$enable_many_core" != "xno"], [
enable_mem=no
AS_IF([test "x$enable_openmp" = "xdefault"], [enable_openmp=yes])
])
# for MagIC code, also disable matrix transforms and switch to many-core code (possibly without openmp).
AS_IF([test "x$enable_magic_layout" != "xno"], [
enable_mem=no
enable_many_core=yes # optimize for many-core architecture
AC_DEFINE([SHTNS4MAGIC],[1],[I need the transforms compatible with the MagIC code, to speed it up!])
])
nvcc_flags=""
# Disable precomputed matrix support with openmp: to avoid bugs arising with icc + openmp.
......@@ -185,7 +185,7 @@ AS_IF([test "x$enable_mkl" = "xyes"], [
# fftw3
AC_CHECK_LIB([fftw3],[fftw_plan_many_dft],,AC_MSG_ERROR([FFTW3 library required.]))
AS_IF([test "x$enable_openmp" = "xyes"], [
AC_CHECK_LIB([fftw3_omp], [fftw_init_threads],,AC_MSG_WARN([FFTW3 does not support OpenMP. Bad multi-threaded performance expected.]))
AC_CHECK_LIB([fftw3_omp], [fftw_init_threads],,AC_MSG_ERROR([FFTW3 does not support OpenMP. Did you compile it with --enable-openmp ?.]))
])
])
......@@ -217,7 +217,7 @@ AS_IF([test "x$enable_python" != "xno"], [
AC_SUBST([numpy_inc])
AC_SUBST([python_inc])
CFLAGS="$CFLAGS -fpic" # required compile flag for python extensions.
target="_shtns.so" # build python extension instead of C library.
target="_shtns.so" # build python extension instead of C library.
install="install-py" # install python extension instead of C library.
])
......
......@@ -622,10 +622,10 @@ See the \c shtns_jni folder.
*/
/** \page gpu Using SHTns with GPU (CUDA).
/** \page gpu Using SHTns with GPU (CUDA)
SHTns supports nvidia Kepler and Pascal GPUs, using optimized cuda transforms.
There are two ways on usign GPUs with SHTns: automatic off-loading where the GPUs are used transparently (not much to change in your code)
There are two ways to use GPUs with SHTns: automatic off-loading where the GPU is used transparently (not much to change in your code)
and SHTns handles all the data transfers between GPU and CPU memory.
In addition, routines for performing transforms of data residing already on the GPU are provided.
......
Supports Markdown
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