@@ -1,3 +1,9 @@
+2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
+
+ * plugin/configfrag.ac: Don't configure for offloading target if
+ we don't build the corresponding plugin.
+ * configure: Regenerate.
+
2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
@@ -15323,6 +15323,7 @@ if test x"$enable_offload_targets" != x; then
for tgt in `echo $enable_offload_targets | sed -e 's#,# #g'`; do
tgt_dir=`echo $tgt | grep '=' | sed 's/.*=//'`
tgt=`echo $tgt | sed 's/=.*//'`
+ tgt_name=
case $tgt in
*-intelmic-* | *-intelmicemul-*)
tgt_name=intelmic
@@ -15424,7 +15425,11 @@ rm -f core conftest.err conftest.$ac_objext \
as_fn_error "unknown offload target specified" "$LINENO" 5
;;
esac
- if test x"$offload_targets" = x; then
+ if test x"$tgt_name" = x; then
+ # Don't configure libgomp for this offloading target if we don't build
+ # the corresponding plugin.
+ continue
+ elif test x"$offload_targets" = x; then
offload_targets=$tgt_name
else
offload_targets=$offload_targets,$tgt_name
@@ -146,6 +146,7 @@ if test x"$enable_offload_targets" != x; then
for tgt in `echo $enable_offload_targets | sed -e 's#,# #g'`; do
tgt_dir=`echo $tgt | grep '=' | sed 's/.*=//'`
tgt=`echo $tgt | sed 's/=.*//'`
+ tgt_name=
case $tgt in
*-intelmic-* | *-intelmicemul-*)
tgt_name=intelmic
@@ -225,7 +226,11 @@ if test x"$enable_offload_targets" != x; then
AC_MSG_ERROR([unknown offload target specified])
;;
esac
- if test x"$offload_targets" = x; then
+ if test x"$tgt_name" = x; then
+ # Don't configure libgomp for this offloading target if we don't build
+ # the corresponding plugin.
+ continue
+ elif test x"$offload_targets" = x; then
offload_targets=$tgt_name
else
offload_targets=$offload_targets,$tgt_name
No separate offloading compiler will be searched/invoked for hsa
offloading; committed in r233071:
commit 071822e70273f6df33adee3ac278c229caeabf0a
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue Feb 2 12:48:21 2016 +0000
libgomp: For hsa offloading, compilation is all handled by the target compiler
libgomp/
* plugin/configfrag.ac (offload_additional_options)
(offload_additional_lib_paths): Don't amend for hsa offloading.
* configure: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233071 138bc75d-0d04-0410-961f-82ee72b054a4
---
libgomp/ChangeLog | 4 ++++
libgomp/configure | 5 ++++-
libgomp/plugin/configfrag.ac | 5 ++++-
3 files changed, 12 insertions(+), 2 deletions(-)
@@ -1,5 +1,9 @@
2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
+ * plugin/configfrag.ac (offload_additional_options)
+ (offload_additional_lib_paths): Don't amend for hsa offloading.
+ * configure: Regenerate.
+
* plugin/configfrag.ac: Don't configure for offloading target if
we don't build the corresponding plugin.
* configure: Regenerate.
@@ -15434,7 +15434,10 @@ rm -f core conftest.err conftest.$ac_objext \
else
offload_targets=$offload_targets,$tgt_name
fi
- if test x"$tgt_dir" != x; then
+ if test "$tgt_name" = hsa; then
+ # Offloading compilation is all handled by the target compiler.
+ :
+ elif test x"$tgt_dir" != x; then
offload_additional_options="$offload_additional_options -B$tgt_dir/libexec/gcc/\$(target_alias)/\$(gcc_version) -B$tgt_dir/bin"
offload_additional_lib_paths="$offload_additional_lib_paths:$tgt_dir/lib64:$tgt_dir/lib:$tgt_dir/lib32"
else
@@ -235,7 +235,10 @@ if test x"$enable_offload_targets" != x; then
else
offload_targets=$offload_targets,$tgt_name
fi
- if test x"$tgt_dir" != x; then
+ if test "$tgt_name" = hsa; then
+ # Offloading compilation is all handled by the target compiler.
+ :
+ elif test x"$tgt_dir" != x; then
offload_additional_options="$offload_additional_options -B$tgt_dir/libexec/gcc/\$(target_alias)/\$(gcc_version) -B$tgt_dir/bin"
offload_additional_lib_paths="$offload_additional_lib_paths:$tgt_dir/lib64:$tgt_dir/lib:$tgt_dir/lib32"
else
The hsa libgomp plugin needs to find the libraries it's been linked
against; committed in r233072:
commit f1deafd651ec9c8bb8196ab32a637a13d279461f
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue Feb 2 12:48:31 2016 +0000
libgomp: Use HSA_RUNTIME_LIB, HSA_KMT_LIB in the testsuite
libgomp/
* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
variables.
* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
(hsa_kmt_lib): Set variables.
* testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
always_ld_library_path.
* Makefile.in: Regenerate.
* configure: Likewise.
* testsuite/Makefile.in: Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233072 138bc75d-0d04-0410-961f-82ee72b054a4
---
libgomp/ChangeLog | 10 ++++++++++
libgomp/Makefile.in | 1 +
libgomp/configure | 16 +++++++++++-----
libgomp/plugin/configfrag.ac | 11 ++++++++---
libgomp/testsuite/Makefile.in | 1 +
libgomp/testsuite/lib/libgomp.exp | 10 +++++++++-
libgomp/testsuite/libgomp-test-support.exp.in | 2 ++
7 files changed, 42 insertions(+), 9 deletions(-)
@@ -1,5 +1,15 @@
2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
+ * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
+ variables.
+ * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
+ (hsa_kmt_lib): Set variables.
+ * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
+ always_ld_library_path.
+ * Makefile.in: Regenerate.
+ * configure: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
* plugin/configfrag.ac (offload_additional_options)
(offload_additional_lib_paths): Don't amend for hsa offloading.
* configure: Regenerate.
@@ -268,6 +268,7 @@ FC = @FC@
FCFLAGS = @FCFLAGS@
FGREP = @FGREP@
GREP = @GREP@
+HSA_KMT_LIB = @HSA_KMT_LIB@
HSA_RUNTIME_INCLUDE = @HSA_RUNTIME_INCLUDE@
HSA_RUNTIME_LIB = @HSA_RUNTIME_LIB@
INSTALL = @INSTALL@
@@ -637,6 +637,7 @@ PLUGIN_HSA_LIBS
PLUGIN_HSA_LDFLAGS
PLUGIN_HSA_CPPFLAGS
PLUGIN_HSA
+HSA_KMT_LIB
HSA_RUNTIME_LIB
HSA_RUNTIME_INCLUDE
PLUGIN_NVPTX_LIBS
@@ -11144,7 +11145,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11147 "configure"
+#line 11148 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11250,7 +11251,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11253 "configure"
+#line 11254 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15292,6 +15293,9 @@ if test "x$HSA_RUNTIME_LIB" != x; then
HSA_RUNTIME_LDFLAGS=-L$HSA_RUNTIME_LIB
fi
+HSA_KMT_LIB=
+
+HSA_KMT_LDFLAGS=
# Check whether --with-hsa-kmt-lib was given.
if test "${with_hsa_kmt_lib+set}" = set; then :
@@ -15299,8 +15303,10 @@ if test "${with_hsa_kmt_lib+set}" = set; then :
fi
if test "x$with_hsa_kmt_lib" != x; then
- HSA_RUNTIME_LDFLAGS="$HSA_RUNTIME_LDFLAGS -L$with_hsa_kmt_lib"
- HSA_RUNTIME_LIB=
+ HSA_KMT_LIB=$with_hsa_kmt_lib
+fi
+if test "x$HSA_KMT_LIB" != x; then
+ HSA_KMT_LDFLAGS=-L$HSA_KMT_LIB
fi
PLUGIN_HSA=0
@@ -15378,7 +15384,7 @@ rm -f core conftest.err conftest.$ac_objext \
tgt_name=hsa
PLUGIN_HSA=$tgt
PLUGIN_HSA_CPPFLAGS=$HSA_RUNTIME_CPPFLAGS
- PLUGIN_HSA_LDFLAGS=$HSA_RUNTIME_LDFLAGS
+ PLUGIN_HSA_LDFLAGS="$HSA_RUNTIME_LDFLAGS $HSA_KMT_LDFLAGS"
PLUGIN_HSA_LIBS="-lhsa-runtime64 -lhsakmt"
PLUGIN_HSA_save_CPPFLAGS=$CPPFLAGS
@@ -118,12 +118,17 @@ if test "x$HSA_RUNTIME_LIB" != x; then
HSA_RUNTIME_LDFLAGS=-L$HSA_RUNTIME_LIB
fi
+HSA_KMT_LIB=
+AC_SUBST(HSA_KMT_LIB)
+HSA_KMT_LDFLAGS=
AC_ARG_WITH(hsa-kmt-lib,
[AS_HELP_STRING([--with-hsa-kmt-lib=PATH],
[specify directory for installed HSA KMT library.])])
if test "x$with_hsa_kmt_lib" != x; then
- HSA_RUNTIME_LDFLAGS="$HSA_RUNTIME_LDFLAGS -L$with_hsa_kmt_lib"
- HSA_RUNTIME_LIB=
+ HSA_KMT_LIB=$with_hsa_kmt_lib
+fi
+if test "x$HSA_KMT_LIB" != x; then
+ HSA_KMT_LDFLAGS=-L$HSA_KMT_LIB
fi
PLUGIN_HSA=0
@@ -190,7 +195,7 @@ if test x"$enable_offload_targets" != x; then
tgt_name=hsa
PLUGIN_HSA=$tgt
PLUGIN_HSA_CPPFLAGS=$HSA_RUNTIME_CPPFLAGS
- PLUGIN_HSA_LDFLAGS=$HSA_RUNTIME_LDFLAGS
+ PLUGIN_HSA_LDFLAGS="$HSA_RUNTIME_LDFLAGS $HSA_KMT_LDFLAGS"
PLUGIN_HSA_LIBS="-lhsa-runtime64 -lhsakmt"
PLUGIN_HSA_save_CPPFLAGS=$CPPFLAGS
@@ -111,6 +111,7 @@ FC = @FC@
FCFLAGS = @FCFLAGS@
FGREP = @FGREP@
GREP = @GREP@
+HSA_KMT_LIB = @HSA_KMT_LIB@
HSA_RUNTIME_INCLUDE = @HSA_RUNTIME_INCLUDE@
HSA_RUNTIME_LIB = @HSA_RUNTIME_LIB@
INSTALL = @INSTALL@
@@ -184,7 +184,7 @@ proc libgomp_init { args } {
}
lappend ALWAYS_CFLAGS "additional_flags=-I${srcdir}/.."
- # For build-tree testing, also consider the CUDA paths used for builing.
+ # For build-tree testing, also consider the library paths used for builing.
# For installed testing, we assume all that to be provided in the sysroot.
if { $blddir != "" } {
global cuda_driver_include
@@ -200,6 +200,14 @@ proc libgomp_init { args } {
lappend ALWAYS_CFLAGS "additional_flags=-L$cuda_driver_lib"
append always_ld_library_path ":$cuda_driver_lib"
}
+ global hsa_runtime_lib
+ global hsa_kmt_lib
+ if { $hsa_runtime_lib != "" } {
+ append always_ld_library_path ":$hsa_runtime_lib"
+ }
+ if { $hsa_kmt_lib != "" } {
+ append always_ld_library_path ":$hsa_kmt_lib"
+ }
}
# We use atomic operations in the testcases to validate results.
@@ -1,4 +1,6 @@
set cuda_driver_include "@CUDA_DRIVER_INCLUDE@"
set cuda_driver_lib "@CUDA_DRIVER_LIB@"
+set hsa_runtime_lib "@HSA_RUNTIME_LIB@"
+set hsa_kmt_lib "@HSA_KMT_LIB@"
set offload_targets "@offload_targets@"
Skip (unsupported) hsa offloading for OpenACC test cases; committed in
r233073:
commit 6637013a46441d9808a681526d249bfad10877fe
Author: tschwinge <tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Tue Feb 2 12:48:41 2016 +0000
libgomp: Skip hsa offloading for OpenACC test cases
libgomp/
* testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
cases.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@233073 138bc75d-0d04-0410-961f-82ee72b054a4
---
libgomp/ChangeLog | 3 +++
libgomp/testsuite/lib/libgomp.exp | 6 ++++--
2 files changed, 7 insertions(+), 2 deletions(-)
@@ -1,5 +1,8 @@
2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
+ * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
+ cases.
+
* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
variables.
* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
@@ -42,15 +42,17 @@ load_file libgomp-test-support.exp
set offload_targets_s [split $offload_targets ","]
set offload_targets_s_openacc {}
foreach offload_target_openacc $offload_targets_s {
+ # Translate to OpenACC names, or skip if not yet supported.
switch $offload_target_openacc {
intelmic {
- # Skip; will all FAIL because of missing
- # GOMP_OFFLOAD_CAP_OPENACC_200.
continue
}
nvptx {
set offload_target_openacc "nvidia"
}
+ hsa {
+ continue
+ }
}
lappend offload_targets_s_openacc "$offload_target_openacc"
}