Skip to content
Snippets Groups Projects
Commit 460fb347 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Enable MAGMA optional configuration

parent d2ed5fde
No related branches found
No related tags found
No related merge requests found
AUTOMAKE_OPTIONS=subdir-objects AUTOMAKE_OPTIONS=subdir-objects
LDADD=libnptm/libnptm.la -L/usr/lib64 ${HDF5_LDFLAGS} ${LAPACK_LDFLAGS} LDADD=libnptm/libnptm.la -L/usr/lib64 ${HDF5_LDFLAGS} ${LAPACKLDFLAGS} ${MAGMALDFLAGS}
lib_LTLIBRARIES=libnptm/libnptm.la 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 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 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
......
...@@ -22,15 +22,52 @@ EOF ...@@ -22,15 +22,52 @@ EOF
m4_define( m4_define(
[M4_DETECT_LAPACK], [M4_DETECT_LAPACK],
[ [
LAPACK_ROOT=$MKLROOT export -p | grep MKL
if test "x$LAPACK_ROOT" != "x"; then MKL_DEF=$?
export LAPACK_INCLUDE=$(MKLROOT)/include if test "x$MKL_DEF" = "x0"; then
export LAPACK_LIB=$(MKLROOT)/lib export LAPACKFLAGS="-DUSE_LAPACK -DLAPACK_ILP64 -DUSE_ILP64 -I{MKLROOT}/include"
export LAPACK_LIBRARY="-Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl" export LAPACKLDFLAGS="-L${MKLROOT}/lib -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_gnu_thread -lmkl_core -lgomp -lpthread -lm -ldl"
else else
export LAPACK_INCLUDE=/usr/include if test -f /usr/include/lapacke.h; then
export LAPACK_LIB=/lib/x86_64-linux-gnu export LAPACKFLAGS="-DUSE_LAPACK -DLAPACK_ILP64 -DUSE_ILP64"
export LAPACK_LIBRARY="-llapacke64" export LAPACKLDFLAGS="-llapacke64"
fi
fi
]
)
m4_define(
[M4_DETECT_MAGMA],
[
if test "x$CUDA_LIB" = "x"; then
export -p | grep CUDA
CUDA_DEF=$?
if test "x$CUDA_DEF" = "x0"; then
CUDA_LIB=${CUDA_HOME}/targets/x86_64-linux/lib
else
CUDA_LIB=/usr/local/cuda/targets/x86_64-linux/lib
fi
fi
export -p | grep MAGMA
MAGMA_DEF=$?
if test "x$MAGMA_DEF" = "x0"; then
export MAGMAFLAGS="-DUSE_MAGMA -DMAGMA_ILP64 -I${MAGMA_INCLUDE}"
export MAGMALDFLAGS="-L${CUDA_LIB} -lcudart -L${MAGMA_LIB} -lmagma"
else
if test "x$MAGMA_INCLUDE" != "x"; then
export MAGMAFLAGS="-DUSE_MAGMA -DMAGMA_ILP64 -I${MAGMA_INCLUDE}"
else
if test -f /usr/include/magma_v2.h; then
export MAGMAFLAGS="-DUSE_MAGMA -DMAGMA_ILP64"
fi
fi
if test "x$MAGMA_LIB" != "x"; then
export MAGMALDFLAGS="-L${CUDA_LIB} -lcudart -L${MAGMA_LIB} -lmagma"
else
if test -f /usr/include/magma_v2.h; then
export MAGMALDFLAGS="-L${CUDA_LIB} -lcudart -lmagma"
fi
fi
fi fi
] ]
) )
...@@ -184,9 +221,16 @@ AS_IF( ...@@ -184,9 +221,16 @@ AS_IF(
# Configure the optional features # Configure the optional features
M4_DETECT_LAPACK M4_DETECT_LAPACK
AS_IF( AS_IF(
[test "x$LAPACK_LIBRARY" != "x"], [test "x$LAPACKLDFLAGS" != "x"],
[AC_MSG_NOTICE([LAPACK detected])], [AC_MSG_NOTICE([LAPACK detected. Activating by default (use --without-lapack to disable).])],
[AC_MSG_NOTICE([No LAPACK found])] [AC_MSG_NOTICE([No LAPACK found.])]
)
M4_DETECT_MAGMA
AS_IF(
[test "x$MAGMALDFLAGS" != "x"],
[AC_MSG_NOTICE([MAGMA detected. Activating by default (use --without-magma to disable).])],
[AC_MSG_NOTICE([MAGMA not found.])]
) )
AC_ARG_ENABLE( AC_ARG_ENABLE(
...@@ -207,34 +251,39 @@ AC_ARG_WITH( ...@@ -207,34 +251,39 @@ AC_ARG_WITH(
[AS_HELP_STRING([--with-lapack], [use LAPACK @<:@default=check@:>@])], [AS_HELP_STRING([--with-lapack], [use LAPACK @<:@default=check@:>@])],
[ [
if test "x$withval" = "xno"; then if test "x$withval" = "xno"; then
AC_SUBST([LAPACK_FLAGS], [""]) AC_SUBST([LAPACKFLAGS], [""])
AC_SUBST([LAPACK_LDFLAGS], [""]) AC_SUBST([LAPACKLDFLAGS], [""])
else
AC_SUBST([LAPACKFLAGS], [${LAPACKFLAGS}])
AC_SUBST([LAPACKLDFLAGS], [${LAPACKLDFLAGS}])
fi fi
], ],
[ [
if test "x$LAPACK_INCLUDE" != "x"; then AC_SUBST([LAPACKFLAGS], [${LAPACKFLAGS}])
AC_SUBST([LAPACK_FLAGS], ["-DUSE_LAPACK -DLAPACK_ILP64 -DUSE_ILP64 -I${LAPACK_INCLUDE}"]) AC_SUBST([LAPACKLDFLAGS], [${LAPACKLDFLAGS}])
AC_SUBST([LAPACK_LDFLAGS], ["-L${LAPACK_LIB} ${LAPACK_LIBRARY}"])
fi
] ]
) )
AC_ARG_WITH( AC_ARG_WITH(
[magma], [magma],
[AS_HELP_STRING([--with-magma], [use MAGMA @<:@default=check@:>@])], [AS_HELP_STRING([--with-magma], [use MAGMA @<:@default=check@:>@])],
[], [
[] if test "x$withval" = "xno"; then
) AC_SUBST([MAGMAFLAGS], [""])
AC_SUBST([MAGMALDFLAGS], [""])
AC_ARG_ENABLE( else
[ilp64], AC_SUBST([MAGMAFLAGS], [${MAGMAFLAGS}])
[AS_HELP_STRING([--enable-ilp64], [use MAGMA @<:@default=check@:>@])], AC_SUBST([MAGMALDFLAGS], [${MAGMALDFLAGS}])
[], fi
[] ],
[
AC_SUBST([MAGMAFLAGS], [${MAGMAFLAGS}])
AC_SUBST([MAGMALDFLAGS], [${MAGMALDFLAGS}])
]
) )
FFLAGS="-std=legacy -O3" FFLAGS="-std=legacy -O3"
CXXFLAGS="-O3 -ggdb -Wno-format-contains-nul -I$HDF5_INCLUDE $OMPFLAGS $LAPACK_FLAGS" CXXFLAGS="-O3 -ggdb -Wno-format-contains-nul -I$HDF5_INCLUDE $OMPFLAGS $LAPACKFLAGS $MAGMAFLAGS"
SUBDIRS="cluster libnptm sphere testing trapping" SUBDIRS="cluster libnptm sphere testing trapping"
# Send output to Makefiles # Send output to Makefiles
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment