Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
N
NP_TMcode
Manage
Activity
Members
Plan
Wiki
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Analyze
Contributor analytics
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Giacomo Mulas
NP_TMcode
Commits
4584cbd3
Commit
4584cbd3
authored
8 months ago
by
Giovanni La Mura
Browse files
Options
Downloads
Patches
Plain Diff
Enable LAPACK detection configuration
parent
bfde602f
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
build/Makefile.am
+1
-1
1 addition, 1 deletion
build/Makefile.am
build/configure.ac
+191
-113
191 additions, 113 deletions
build/configure.ac
with
192 additions
and
114 deletions
build/Makefile.am
+
1
−
1
View file @
4584cbd3
AUTOMAKE_OPTIONS
=
subdir-objects
LDADD
=
libnptm/libnptm.la
-L
/usr/lib64
$
(
HDF5_LDFLAGS
)
LDADD
=
libnptm/libnptm.la
-L
/usr/lib64
$
{
HDF5_LDFLAGS
}
${
LAPACK_LDFLAGS
}
lib_LTLIBRARIES
=
libnptm/libnptm.la
libnptm_libnptm_la_SOURCES
=
../src/libnptm/algebraic.cpp ../src/libnptm/clu_subs.cpp ../src/libnptm/Commons.cpp ../src/libnptm/Configuration.cpp ../src/libnptm/file_io.cpp ../src/libnptm/lapack_calls.cpp ../src/libnptm/logging.cpp ../src/libnptm/magma_calls.cpp ../src/libnptm/Parsers.cpp ../src/libnptm/sph_subs.cpp ../src/libnptm/tfrfme.cpp ../src/libnptm/TransitionMatrix.cpp ../src/libnptm/tra_subs.cpp ../src/libnptm/types.cpp
bin_PROGRAMS
=
cluster/edfb_clu cluster/clu cluster/np_cluster sphere/edfb_sph sphere/sph sphere/np_sphere trapping/frfme trapping/lffft trapping/np_trapping
...
...
This diff is collapsed.
Click to expand it.
build/configure.ac
+
191
−
113
View file @
4584cbd3
# CAPABILITY TESTING MACROS
m4_define(
[M4_HDF5_LIB],
[cat > nptm_test_hdf5.cpp <<EOF
[M4_HDF5_LIB],
[
cat > nptm_test_hdf5.cpp <<EOF
#include <hdf5.h>
int main(int argc, char **argv) {
hid_t file_id = 0;
...
...
@@ -9,14 +10,30 @@ int main(int argc, char **argv) {
return (int)status;
}
EOF
$CXX -o nptm_test_hdf5 nptm_test_hdf5.cpp -I$HDF5_INCLUDE -L$HDF5_LIB -lhdf5 > /dev/null 2>>error.log
export TEST_HDF5_LIB=$?
rm nptm_test_hdf5.cpp
if test "x$TEST_HDF5_LIB" = "x0"; then
rm nptm_test_hdf5
fi]
$CXX -o nptm_test_hdf5 nptm_test_hdf5.cpp -I$HDF5_INCLUDE -L$HDF5_LIB -lhdf5 > /dev/null 2>>error.log
export TEST_HDF5_LIB=$?
rm nptm_test_hdf5.cpp
if test "x$TEST_HDF5_LIB" = "x0"; then
rm nptm_test_hdf5
fi
]
)
m4_define(
[M4_DETECT_LAPACK],
[
LAPACK_ROOT=$MKLROOT
if test "x$LAPACK_ROOT" != "x"; then
export LAPACK_INCLUDE=$(MKLROOT)/include
export LAPACK_LIB=$(MKLROOT)/lib
export LAPACK_LIBRARY="-Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl"
else
export LAPACK_INCLUDE=/usr/include
export LAPACK_LIB=/lib/x86_64-linux-gnu
export LAPACK_LIBRARY="-llapacke64"
fi
]
)
# END CAPABILITY TESTING MACROS
# autoconf setup initialization
...
...
@@ -34,130 +51,191 @@ AM_INIT_AUTOMAKE([-Wall -Werror foreign])
# Compiler detection
AM_PROG_AR
AC_ARG_ENABLE(
[mpi],
[AS_HELP_STRING([--enable-mpi], [use MPI if available (default is yes)])],
[
if test "x$enableval" = "xno"; then
if test "x$F77" = "xmpif90"; then
gfortran --version > /dev/null
if test "x$?" = "x0"; then
export F77=gfortran
fi
fi
if test "x$F77" = "xmpif90"; then
f77 --version > /dev/null
if test "x$?" = "x0"; then
export F77=f77
fi
fi
if test "x$CXX" = "xmpicxx"; then
g++ --version > /dev/null
if test "x$?" = "x0"; then
export CXX=g++
fi
fi
if test "x$CXX" = "xmpicxx"; then
clang --version > /dev/null
if test "x$?" = "x0"; then
export CXX=clang
fi
fi
if test "x$F77" = "x"; then
gfortran --version > /dev/null
if test "x$?" = "x0"; then
export F77=gfortran
fi
fi
if test "x$F77" = "x"; then
f77 --version > /dev/null
if test "x$?" = "x0"; then
export F77=f77
fi
fi
if test "x$CXX" = "x"; then
g++ --version > /dev/null
if test "x$?" = "x0"; then
export CXX=g++
fi
fi
if test "x$CXX" = "x"; then
clang --version > /dev/null
if test "x$?" = "x0"; then
export CXX=clang
fi
fi
else
mpicxx --version > /dev/null
if test "x$?" = "x0"; then
export CXX=mpicxx
export F77=mpif90
else
AC_MSG_ERROR(["MPI was enabled, but no MPI compiler was found!"])
fi
fi
],
[
if test "x$CXX" = "x"; then
mpicxx --version > /dev/null
if test "x$?" = "x0"; then
export CXX=mpicxx
export F77=mpif90
fi
fi
if test "x$CXX" = "x"; then
g++ --version > /dev/null
if test "x$?" = "x0"; then
export CXX=g++
fi
fi
if test "x$CXX" = "x"; then
clang --version > /dev/null
if test "x$?" = "x0"; then
export CXX=clang
fi
fi
]
[mpi],
[AS_HELP_STRING([--enable-mpi], [use MPI if available [default=yes]])],
[
if test "x$enableval" = "xno"; then
if test "x$F77" = "xmpif90"; then
gfortran --version > /dev/null
if test "x$?" = "x0"; then
AC_SUBST([F77], [gfortran])
fi
fi
if test "x$F77" = "xmpif90"; then
f77 --version > /dev/null
if test "x$?" = "x0"; then
#export F77=f77
AC_SUBST([F77], [f77])
fi
fi
if test "x$CXX" = "xmpicxx"; then
g++ --version > /dev/null
if test "x$?" = "x0"; then
#export CXX=g++
AC_SUBST([CXX], [g++])
fi
fi
if test "x$CXX" = "xmpicxx"; then
clang --version > /dev/null
if test "x$?" = "x0"; then
#export CXX=clang
AC_SUBST([CXX], [clang])
fi
fi
if test "x$F77" = "x"; then
gfortran --version > /dev/null
if test "x$?" = "x0"; then
#export F77=gfortran
AC_SUBST([F77], [gfortran])
fi
fi
if test "x$F77" = "x"; then
f77 --version > /dev/null
if test "x$?" = "x0"; then
#export F77=f77
AC_SUBST([F77], [f77])
fi
fi
if test "x$CXX" = "x"; then
g++ --version > /dev/null
if test "x$?" = "x0"; then
#export CXX=g++
AC_SUBST([CXX], [g++])
fi
fi
if test "x$CXX" = "x"; then
clang --version > /dev/null
if test "x$?" = "x0"; then
#export CXX=clang
AC_SUBST([CXX], [clang])
fi
fi
else
mpicxx --version > /dev/null
if test "x$?" = "x0"; then
#export CXX=mpicxx
#export F77=mpif90
AC_SUBST([CXX], [mpicxx])
AC_SUBST([F77], [mpif90])
else
AC_MSG_ERROR(["MPI was enabled, but no MPI compiler was found!"])
fi
fi
],
[
if test "x$CXX" = "x"; then
mpicxx --version > /dev/null
if test "x$?" = "x0"; then
#export CXX=mpicxx
#export F77=mpif90
AC_SUBST([CXX], [mpicxx])
AC_SUBST([F77], [mpif90])
fi
fi
if test "x$CXX" = "x"; then
g++ --version > /dev/null
if test "x$?" = "x0"; then
#export CXX=g++
AC_SUBST([CXX], [g++])
fi
fi
if test "x$CXX" = "x"; then
clang --version > /dev/null
if test "x$?" = "x0"; then
#export CXX=clang
AC_SUBST([CXX], [clang])
fi
fi
]
)
AC_SUBST([CXX])
AC_PROG_CXX(CXX)
AC_SUBST([F77])
AC_PROG_F77([$F77 mpif90 gfortran f77])
AC_PROG_CXX([$CXX])
AC_PROG_F77([$F77])
# Libtool initialization
LT_INIT
# Environment setup
AS_IF(
[test "x$HDF5_INCLUDE" = "x"],
[export
HDF5_INCLUDE
=
/usr/include/hdf5/serial],
[AC_MSG_NOTICE([
"
HDF5_INCLUDE=$HDF5_INCLUDE
"
])]
[test "x$HDF5_INCLUDE" = "x"],
[AC_SUBST([
HDF5_INCLUDE
], ["
/usr/include/hdf5/serial
"])
],
[AC_MSG_NOTICE([HDF5_INCLUDE=$
(
HDF5_INCLUDE
)
])]
)
AS_IF(
[test "x$HDF5_LIB" = "x"],
[export
HDF5_LIB
=
/usr/lib/x86_64-linux-gnu/hdf5/serial],
[AC_MSG_NOTICE([
"
HDF5_LIB=$HDF5_LIB
"
])]
[test "x$HDF5_LIB" = "x"],
[AC_SUBST([
HDF5_LIB
], ["
/usr/lib/x86_64-linux-gnu/hdf5/serial
"])
],
[AC_MSG_NOTICE([HDF5_LIB=$
(
HDF5_LIB
)
])]
)
FFLAGS="-std=legacy -O3"
CXXFLAGS="-O3 -ggdb -Wno-format-contains-nul -I $HDF5_INCLUDE"
SUBDIRS="cluster libnptm sphere testing trapping"
# Check for required headers
AC_CHECK_HEADER(
[$HDF5_INCLUDE/hdf5.h],
,
AC_MSG_ERROR(["Could not find HDF5 headers!]),
)
[$HDF5_INCLUDE/hdf5.h],
,
AC_MSG_ERROR(["Could not find HDF5 headers!]),
)
# Check for required libraries
M4_HDF5_LIB
AS_IF(
[test "x$TEST_HDF5_LIB" = "x0"],
[export
HDF5_LDFLAGS
=
"-L${HDF5_LIB} -lhdf5"],
[AC_MSG_ERROR(["HDF5 library not found!"])]
[test "x$TEST_HDF5_LIB" = "x0"],
[AC_SUBST([
HDF5_LDFLAGS
], [
"-L${HDF5_LIB} -lhdf5"]
)]
,
[AC_MSG_ERROR(["HDF5 library not found!"])]
)
AC_SUBST([HDF5_LDFLAGS])
# Configure the optional features
M4_DETECT_LAPACK
AS_IF(
[test "x$LAPACK_LIBRARY" != "x"],
[AC_MSG_NOTICE([LAPACK detected])],
[AC_MSG_NOTICE([No LAPACK found])]
)
AC_ARG_ENABLE(
[openmp],
[AS_HELP_STRING([--enable-openmp], [enable OpneMP multi-threading [default=yes]])],
[
if test "x$enableval" != "xno"; then
AC_SUBST([OMPFLAGS], ["-fopenmp"])
fi
],
[
AC_SUBST([OMPFLAGS], ["-fopenmp"])
]
)
AC_ARG_WITH(
[lapack],
[AS_HELP_STRING([--with-lapack], [use LAPACK @<:@default=check@:>@])],
[
if test "x$withval" = "xno"; then
AC_SUBST([LAPACK_FLAGS], [""])
AC_SUBST([LAPACK_LDFLAGS], [""])
fi
],
[
if test "x$LAPACK_INCLUDE" != "x"; then
AC_SUBST([LAPACK_FLAGS], ["-DUSE_LAPACK -DLAPACK_ILP64 -DUSE_ILP64 -I${LAPACK_INCLUDE}"])
AC_SUBST([LAPACK_LDFLAGS], ["-L${LAPACK_LIB} ${LAPACK_LIBRARY}"])
fi
]
)
AC_ARG_WITH(
[magma],
[AS_HELP_STRING([--with-magma], [use MAGMA @<:@default=check@:>@])],
[],
[]
)
AC_ARG_ENABLE(
[ilp64],
[AS_HELP_STRING([--enable-ilp64], [use MAGMA @<:@default=check@:>@])],
[],
[]
)
FFLAGS="-std=legacy -O3"
CXXFLAGS="-O3 -ggdb -Wno-format-contains-nul -I$HDF5_INCLUDE $OMPFLAGS $LAPACK_FLAGS"
SUBDIRS="cluster libnptm sphere testing trapping"
# Send output to Makefiles
AC_CONFIG_FILES([Makefile])
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment