Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Nathanael Schaeffer
SHTns
Commits
bf0199e5
Commit
bf0199e5
authored
Jun 25, 2018
by
Nathanael Schaeffer
Browse files
Improved configure script to avoid some compilation issues.
parent
34e7bbb3
Changes
4
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
bf0199e5
...
...
@@ -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).
...
...
configure
View file @
bf0199e5
#! /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
\\
"
...
...
configure.ac
View file @
bf0199e5
...
...
@@ -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.
])
...
...
doc/main.dox
View file @
bf0199e5
...
...
@@ -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 o
n
us
ign
GPUs with SHTns: automatic off-loading where the GPU
s are
used transparently (not much to change in your code)
There are two ways
t
o us
e
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.
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment