mirror of
https://github.com/amd/blis.git
synced 2026-05-11 17:50:00 +00:00
* Add custom SDE cpuid files. * Set up testing of all x86_64 architectures (except bulldozer) using SDE. * Update .travis.yml [ci skip] * Update do_testsuite.sh [ci skip] * Updated .travis.yml with my secret token. Details: - Replaced Devin's temporary secret token with my own, which is used by Travis when accessing the Intel SDE via Dropbox. * Work around CPUID dispatch in glibc/libm by patching ld.so. * Detect path of loader at runtime. * Attempt to make SDE run on Travis * Allow unpatched ld.so if we don't know how to patch it. I *think* this only happens for older glibc without the multi-arch stuff (e.g. Ubuntu 14.04 on Travis), but who knows? * Upgrade Travis to gcc-6 and binutils-2.26. * Try to get Travis to use the right assembler. * Apparently you need ld-2.26 too. * Try to also patch ld.so from Ubuntu 14.04. * Take the nuclear option. * Account for non-absolute dependencies in ldd output. * String manipulation fail. * Update patch-ld-so.py * Add Zen to SDE testing. * Removed dead variable from travis/do_testsuite.sh. Details: - Removed 'BLIS_ENABLE_TEST_OUTPUT=yes' from make invocations in travis/do_testsuite.sh. This variable is no longer present in the BLIS build system (if it ever was?), and therefore has no effect.
48 lines
1.4 KiB
Bash
Executable File
48 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
set -x
|
|
|
|
SDE_VERSION=sde-external-8.16.0-2018-01-30-lin
|
|
SDE_TARBALL=$SDE_VERSION.tar.bz2
|
|
SDE=$SDE_VERSION/sde64
|
|
|
|
set +x
|
|
curl -s -X POST https://content.dropboxapi.com/2/files/download -H "Authorization: Bearer $DROPBOX_TOKEN" -H "Dropbox-API-Arg: {\"path\": \"/$SDE_TARBALL\"}" > $SDE_TARBALL
|
|
set -x
|
|
tar xvf $SDE_TARBALL
|
|
|
|
make -j2 testsuite-bin
|
|
cp $DIST_PATH/testsuite/input.general.fast input.general
|
|
cp $DIST_PATH/testsuite/input.operations.fast input.operations
|
|
|
|
TMP=`ldd ./test_libblis.x | grep ld | sed 's/^.*=> //'`
|
|
LD_SO=${TMP%% *}
|
|
TMP=`ldd ./test_libblis.x | grep libc | sed 's/^.*=> //'`
|
|
LIBC_SO=${TMP%% *}
|
|
TMP=`ldd ./test_libblis.x | grep libm | sed 's/^.*=> //'`
|
|
LIBM_SO=${TMP%% *}
|
|
for LIB in $LD_SO $LIBC_SO $LIBM_SO; do
|
|
$DIST_PATH/travis/patch-ld-so.py $LIB .tmp
|
|
chmod a+x .tmp
|
|
sudo mv .tmp $LIB
|
|
done
|
|
|
|
for ARCH in penryn sandybridge haswell skx knl piledriver steamroller excavator zen; do
|
|
if [ "$ARCH" = "knl" ]; then
|
|
$SDE -knl -- ./test_libblis.x > output.testsuite
|
|
else
|
|
$SDE -cpuid_in $DIST_PATH/travis/cpuid/$ARCH.def -- ./test_libblis.x > output.testsuite
|
|
fi
|
|
$DIST_PATH/build/check-blistest.sh ./output.testsuite
|
|
TMP=`grep "active sub-configuration" output.testsuite`
|
|
CONFIG=${TMP##* }
|
|
if [ "$CONFIG" != "$ARCH" ]; then
|
|
echo "Wrong configuration chosen:"
|
|
echo " Expected: $ARCH"
|
|
echo " Got: $CONFIG"
|
|
exit 1
|
|
fi
|
|
done
|
|
|