[PATCH 4/4] OpenMP 4.0 offloading to Intel MIC: non-fallback testing.
libgomp/ * Makefile.in: Regenerate. * configure: Regenerate. * configure.ac: Set up offload_additional_options, offload_additional_lib_paths and offload_targets. * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS, OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS. * testsuite/Makefile.in: Regenerate. * testsuite/lib/libgomp.exp (libgomp_init): Append offload_additional_lib_paths to LD_LIBRARY_PATH. Append offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic build directory to LD_LIBRARY_PATH for intelmic offload targets. Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> From-SVN: r217500
This commit is contained in:
parent
9d73ec14be
commit
d64ae6140f
@ -1,3 +1,18 @@
|
||||
2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
|
||||
Ilya Verbin <ilya.verbin@intel.com>
|
||||
|
||||
* Makefile.in: Regenerate.
|
||||
* configure: Regenerate.
|
||||
* configure.ac: Set up offload_additional_options,
|
||||
offload_additional_lib_paths and offload_targets.
|
||||
* testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
|
||||
OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
|
||||
* testsuite/Makefile.in: Regenerate.
|
||||
* testsuite/lib/libgomp.exp (libgomp_init): Append
|
||||
offload_additional_lib_paths to LD_LIBRARY_PATH. Append
|
||||
offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
|
||||
build directory to LD_LIBRARY_PATH for intelmic offload targets.
|
||||
|
||||
2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
|
||||
Ilya Verbin <ilya.verbin@intel.com>
|
||||
Kirill Yukhin <kirill.yukhin@intel.com>
|
||||
|
@ -268,6 +268,9 @@ lt_host_flags = @lt_host_flags@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
multi_basedir = @multi_basedir@
|
||||
offload_additional_lib_paths = @offload_additional_lib_paths@
|
||||
offload_additional_options = @offload_additional_options@
|
||||
offload_targets = @offload_targets@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
|
21
libgomp/configure
vendored
21
libgomp/configure
vendored
@ -616,6 +616,9 @@ OMP_LOCK_SIZE
|
||||
USE_FORTRAN_FALSE
|
||||
USE_FORTRAN_TRUE
|
||||
link_gomp
|
||||
offload_additional_lib_paths
|
||||
offload_additional_options
|
||||
offload_targets
|
||||
XLDFLAGS
|
||||
XCFLAGS
|
||||
config_path
|
||||
@ -11094,7 +11097,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 11097 "configure"
|
||||
#line 11100 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -11200,7 +11203,7 @@ else
|
||||
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
|
||||
lt_status=$lt_dlunknown
|
||||
cat > conftest.$ac_ext <<_LT_EOF
|
||||
#line 11203 "configure"
|
||||
#line 11206 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
#if HAVE_DLFCN_H
|
||||
@ -16207,9 +16210,13 @@ else
|
||||
multilib_arg=
|
||||
fi
|
||||
|
||||
# Get accel target and path to install tree of accel compiler
|
||||
offload_additional_options=
|
||||
offload_additional_lib_paths=
|
||||
offload_targets=
|
||||
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/=.*//'`
|
||||
case $tgt in
|
||||
*-intelmic-* | *-intelmicemul-*)
|
||||
@ -16222,6 +16229,13 @@ if test x"$enable_offload_targets" != x; then
|
||||
else
|
||||
offload_targets=$offload_targets,$tgt_name
|
||||
fi
|
||||
if 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"
|
||||
else
|
||||
offload_additional_options="$offload_additional_options -B\$(libexecdir)/gcc/\$(target_alias)/\$(gcc_version) -B\$(bindir)"
|
||||
offload_additional_lib_paths="$offload_additional_lib_paths:$toolexeclibdir"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
@ -16230,6 +16244,9 @@ cat >>confdefs.h <<_ACEOF
|
||||
_ACEOF
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Set up the set of libraries that we need to link against for libgomp.
|
||||
# Note that the GOMP_SELF_SPEC in gcc.c may force -pthread,
|
||||
# which will force linkage against -lpthread (or equivalent for the system).
|
||||
|
@ -280,9 +280,13 @@ else
|
||||
multilib_arg=
|
||||
fi
|
||||
|
||||
# Get accel target and path to install tree of accel compiler
|
||||
offload_additional_options=
|
||||
offload_additional_lib_paths=
|
||||
offload_targets=
|
||||
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/=.*//'`
|
||||
case $tgt in
|
||||
*-intelmic-* | *-intelmicemul-*)
|
||||
@ -295,10 +299,20 @@ if test x"$enable_offload_targets" != x; then
|
||||
else
|
||||
offload_targets=$offload_targets,$tgt_name
|
||||
fi
|
||||
if 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"
|
||||
else
|
||||
offload_additional_options="$offload_additional_options -B\$(libexecdir)/gcc/\$(target_alias)/\$(gcc_version) -B\$(bindir)"
|
||||
offload_additional_lib_paths="$offload_additional_lib_paths:$toolexeclibdir"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
AC_DEFINE_UNQUOTED(OFFLOAD_TARGETS, "$offload_targets",
|
||||
[Define to hold the list of target names suitable for offloading.])
|
||||
AC_SUBST(offload_targets)
|
||||
AC_SUBST(offload_additional_options)
|
||||
AC_SUBST(offload_additional_lib_paths)
|
||||
|
||||
# Set up the set of libraries that we need to link against for libgomp.
|
||||
# Note that the GOMP_SELF_SPEC in gcc.c may force -pthread,
|
||||
|
@ -11,3 +11,8 @@ EXPECT = $(shell if test -f $(top_builddir)/../expect/expect; then \
|
||||
_RUNTEST = $(shell if test -f $(top_srcdir)/../dejagnu/runtest; then \
|
||||
echo $(top_srcdir)/../dejagnu/runtest; else echo runtest; fi)
|
||||
RUNTEST = "$(_RUNTEST) $(AM_RUNTESTFLAGS)"
|
||||
|
||||
# Used for support non-fallback offloading.
|
||||
export OFFLOAD_TARGETS = $(offload_targets)
|
||||
export OFFLOAD_ADDITIONAL_OPTIONS = $(offload_additional_options)
|
||||
export OFFLOAD_ADDITIONAL_LIB_PATHS = $(offload_additional_lib_paths)
|
||||
|
@ -184,6 +184,9 @@ lt_host_flags = @lt_host_flags@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
multi_basedir = @multi_basedir@
|
||||
offload_additional_lib_paths = @offload_additional_lib_paths@
|
||||
offload_additional_options = @offload_additional_options@
|
||||
offload_targets = @offload_targets@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
@ -408,6 +411,11 @@ uninstall-am:
|
||||
uninstall uninstall-am
|
||||
|
||||
|
||||
# Used for support non-fallback offloading.
|
||||
export OFFLOAD_TARGETS = $(offload_targets)
|
||||
export OFFLOAD_ADDITIONAL_OPTIONS = $(offload_additional_options)
|
||||
export OFFLOAD_ADDITIONAL_LIB_PATHS = $(offload_additional_lib_paths)
|
||||
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
||||
|
@ -107,6 +107,25 @@ proc libgomp_init { args } {
|
||||
# Compute what needs to be put into LD_LIBRARY_PATH
|
||||
set always_ld_library_path ".:${blddir}/.libs"
|
||||
|
||||
# Get offload-related variables from environment (exported by Makefile)
|
||||
set offload_targets [getenv OFFLOAD_TARGETS]
|
||||
set offload_additional_options [getenv OFFLOAD_ADDITIONAL_OPTIONS]
|
||||
set offload_additional_lib_paths [getenv OFFLOAD_ADDITIONAL_LIB_PATHS]
|
||||
|
||||
# Add liboffloadmic build directory in LD_LIBRARY_PATH to support
|
||||
# non-fallback testing for Intel MIC targets
|
||||
if { [string match "*-intelmic-*" $offload_targets]
|
||||
|| [string match "*-intelmicemul-*" $offload_targets] } {
|
||||
append always_ld_library_path ":${blddir}/../liboffloadmic/.libs"
|
||||
append always_ld_library_path ":${blddir}/../liboffloadmic/plugin/.libs"
|
||||
# libstdc++ is required by liboffloadmic
|
||||
append always_ld_library_path ":${blddir}/../libstdc++-v3/src/.libs"
|
||||
}
|
||||
|
||||
if { $offload_additional_lib_paths != "" } {
|
||||
append always_ld_library_path "${offload_additional_lib_paths}"
|
||||
}
|
||||
|
||||
# Compute what needs to be added to the existing LD_LIBRARY_PATH.
|
||||
if {$gccdir != ""} {
|
||||
# Add AIX pthread directory first.
|
||||
@ -169,6 +188,12 @@ proc libgomp_init { args } {
|
||||
|
||||
# Disable color diagnostics
|
||||
lappend ALWAYS_CFLAGS "additional_flags=-fdiagnostics-color=never"
|
||||
|
||||
# Used for support non-fallback offloading.
|
||||
# Help GCC to find target mkoffload.
|
||||
if { $offload_additional_options != "" } {
|
||||
lappend ALWAYS_CFLAGS "additional_flags=${offload_additional_options}"
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user