From 9899fb9c1411dc970f167d53e597c01b8b93dc19 Mon Sep 17 00:00:00 2001 From: Giovanni La Mura <giovanni.lamura@inaf.it> Date: Wed, 17 Jul 2024 10:31:53 +0200 Subject: [PATCH] Define USE_TARGET_OFFLOAD compilation flag --- build/configure | 22 ++++++++++++++++------ build/configure.ac | 15 ++++++++++----- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/build/configure b/build/configure index 7dee52ae..b118fe41 100755 --- a/build/configure +++ b/build/configure @@ -24914,7 +24914,7 @@ int main(int argc, char** argv) { return 0; } EOF - $CXX -fcf-protection=check -foffload=default -foffload=nvptx-none="-O3 -ggdb -fopt-info -lm -latomic -mgomp" -fopenmp -c np_test_offload.cpp > /dev/null #2>&1 + $CXX -fcf-protection=check -foffload=default -foffload=nvptx-none="-O3 -ggdb -fopt-info -lm -latomic -mgomp" -fopenmp -c np_test_offload.cpp > /dev/null 2>&1 export CXX_SUPPORTS_OFFLOAD=$? rm np_test_offload.cpp if test "x$CXX_SUPPORTS_OFFLOAD" = "x0"; then @@ -24925,7 +24925,7 @@ EOF if test "x$CXX_SUPPORTS_OFFLOAD" = "x0"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Enabling offload." >&5 printf "%s\n" "$as_me: Enabling offload." >&6;} - OFFLOADFLAGS="-fcf-protection=check -foffload=default -foffload=nvptx-none=\"-O3 -ggdb -fopt-info -lm -latomic -mgomp\" -fopenmp" + OFFLOADFLAGS="-fcf-protection=check -foffload=default -foffload=nvptx-none=\"-O3 -ggdb -fopt-info -lm -latomic -mgomp\" -fopenmp -DUSE_TARGET_OFFLOAD " else as_fn_error $? "Target offload was requested, but it is not supported!" "$LINENO" 5 @@ -24961,7 +24961,7 @@ int main(int argc, char** argv) { return 0; } EOF - $CXX -fcf-protection=check -foffload=default -foffload=nvptx-none="-O3 -ggdb -fopt-info -lm -latomic -mgomp" -fopenmp -c np_test_offload.cpp > /dev/null #2>&1 + $CXX -fcf-protection=check -foffload=default -foffload=nvptx-none="-O3 -ggdb -fopt-info -lm -latomic -mgomp" -fopenmp -c np_test_offload.cpp > /dev/null 2>&1 export CXX_SUPPORTS_OFFLOAD=$? rm np_test_offload.cpp if test "x$CXX_SUPPORTS_OFFLOAD" = "x0"; then @@ -24972,7 +24972,7 @@ EOF if test "x$CXX_SUPPORTS_OFFLOAD" = "x0"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Enabling offload." >&5 printf "%s\n" "$as_me: Enabling offload." >&6;} - OFFLOADFLAGS="-fcf-protection=check -foffload=default -foffload=nvptx-none=\"-O3 -ggdb -fopt-info -lm -latomic -mgomp\" -fopenmp" + OFFLOADFLAGS="-fcf-protection=check -foffload=default -foffload=nvptx-none=\"-O3 -ggdb -fopt-info -lm -latomic -mgomp\" -fopenmp -DUSE_TARGET_OFFLOAD " else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Disabling offload." >&5 @@ -24991,13 +24991,13 @@ if test ${enable_openmp+y} then : enableval=$enable_openmp; if test "x$enableval" != "xno"; then - OMPFLAGS="-DUSE_OPENMP -fopenmp" + OMPFLAGS="-fopenmp" fi else case e in #( e) - OMPFLAGS="-DUSE_OPENMP -fopenmp" + OMPFLAGS="-fopenmp" ;; @@ -25278,6 +25278,16 @@ esac fi +if test "x$OFFLOADFLAGS" != "x" +then : + OMPFLAGS="" + +else case e in #( + e) OMPFLAGS=$OMPFLAGS + + ;; +esac +fi CXXFLAGS="$CLANGFLAGS -O3 -ggdb $OFFLOADFLAGS $USER_INCLUDE -I$HDF5_INCLUDE $OMPFLAGS $MPIFLAGS $LAPACKFLAGS $MAGMAFLAGS $NVTXFLAGS" SUBDIRS="cluster libnptm sphere testing trapping" diff --git a/build/configure.ac b/build/configure.ac index bd1141e1..f9d46c59 100644 --- a/build/configure.ac +++ b/build/configure.ac @@ -118,7 +118,7 @@ int main(int argc, char** argv) { return 0; } EOF - $CXX -fcf-protection=check -foffload=default -foffload=nvptx-none="-O3 -ggdb -fopt-info -lm -latomic -mgomp" -fopenmp -c np_test_offload.cpp > /dev/null #2>&1 + $CXX -fcf-protection=check -foffload=default -foffload=nvptx-none="-O3 -ggdb -fopt-info -lm -latomic -mgomp" -fopenmp -c np_test_offload.cpp > /dev/null 2>&1 export CXX_SUPPORTS_OFFLOAD=$? rm np_test_offload.cpp if test "x$CXX_SUPPORTS_OFFLOAD" = "x0"; then @@ -260,7 +260,7 @@ AC_ARG_ENABLE( M4_TEST_OFFLOAD if test "x$CXX_SUPPORTS_OFFLOAD" = "x0"; then AC_MSG_NOTICE([Enabling offload.]) - AC_SUBST([OFFLOADFLAGS], ["-fcf-protection=check -foffload=default -foffload=nvptx-none=\"-O3 -ggdb -fopt-info -lm -latomic -mgomp\" -fopenmp"]) + AC_SUBST([OFFLOADFLAGS], ["-fcf-protection=check -foffload=default -foffload=nvptx-none=\"-O3 -ggdb -fopt-info -lm -latomic -mgomp\" -fopenmp -DUSE_TARGET_OFFLOAD "]) else AC_MSG_ERROR([Target offload was requested, but it is not supported!]) fi @@ -273,7 +273,7 @@ AC_ARG_ENABLE( M4_TEST_OFFLOAD if test "x$CXX_SUPPORTS_OFFLOAD" = "x0"; then AC_MSG_NOTICE([Enabling offload.]) - AC_SUBST([OFFLOADFLAGS], ["-fcf-protection=check -foffload=default -foffload=nvptx-none=\"-O3 -ggdb -fopt-info -lm -latomic -mgomp\" -fopenmp"]) + AC_SUBST([OFFLOADFLAGS], ["-fcf-protection=check -foffload=default -foffload=nvptx-none=\"-O3 -ggdb -fopt-info -lm -latomic -mgomp\" -fopenmp -DUSE_TARGET_OFFLOAD "]) else AC_MSG_NOTICE([Disabling offload.]) AC_SUBST([OFFLOADFLAGS], [""]) @@ -286,11 +286,11 @@ AC_ARG_ENABLE( [AS_HELP_STRING([--enable-openmp], [enable OpneMP multi-threading [default=yes]])], [ if test "x$enableval" != "xno"; then - AC_SUBST([OMPFLAGS], ["-DUSE_OPENMP -fopenmp"]) + AC_SUBST([OMPFLAGS], ["-fopenmp"]) fi ], [ - AC_SUBST([OMPFLAGS], ["-DUSE_OPENMP -fopenmp"]) + AC_SUBST([OMPFLAGS], ["-fopenmp"]) ] ) @@ -408,6 +408,11 @@ AC_ARG_WITH( ] ) +AS_IF( + [test "x$OFFLOADFLAGS" != "x"], + [AC_SUBST([OMPFLAGS], [""])], + [AC_SUBST([OMPFLAGS], [$OMPFLAGS])] +) CXXFLAGS="$CLANGFLAGS -O3 -ggdb $OFFLOADFLAGS $USER_INCLUDE -I$HDF5_INCLUDE $OMPFLAGS $MPIFLAGS $LAPACKFLAGS $MAGMAFLAGS $NVTXFLAGS" SUBDIRS="cluster libnptm sphere testing trapping" -- GitLab