Skip to content

Commit

Permalink
Added an 'arm64' entry to .travis.yml. (#726)
Browse files Browse the repository at this point in the history
Details:
- Added a new 'arm64' entry to the .travis.yml file in an attempt to get
  Travis CI to compile both NEON and SVE kernels, even if only NEON
  kernels are exercised in the testing. With this new 'arm64' entry, the
  'cortexa57' entry becomes redundant and may be removed. Thanks to
  RuQing Xu for this suggestion.
- Previously, the macro BLIS_SIMD_MAX_SIZE was *not* being set in
  bli_kernels_arm64.h, which meant that the default value of 64 was
  being used. This caused a runtime consistency check to fail in
  bli_gks.c (in Travis CI), one which requires that

    mr * nr * dt_size > BLIS_STACK_BUF_MAX_SIZE

  for all datatype sizes dt_size, where BLIS_STACK_BUF_MAX_SIZE is
  defined as

    BLIS_SIMD_MAX_NUM_REGISTERS * BLIS_SIMD_MAX_SIZE * 2

  This commit increases BLIS_SIMD_MAX_SIZE to 128 for the 'arm64'
  configuration, thus overriding the default and (hopefully) avoiding
  the aforementioned consistency check failures.
- Appended '|| cat ./output.testsuite' to all 'make' commands in
  travis/do_testsuite.sh. Thanks to RuQing Xu for this suggestion.
- Whitespace changes.
  • Loading branch information
fgvanzee authored Feb 18, 2023
1 parent b1d3fc7 commit 0b421ef
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 9 deletions.
9 changes: 9 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,15 @@ matrix:
CC=aarch64-linux-gnu-gcc-10 CXX=aarch64-linux-gnu-g++-10 \
PACKAGES="gcc-10-aarch64-linux-gnu g++-10-aarch64-linux-gnu libc6-dev-arm64-cross qemu-system-arm qemu-user" \
TESTSUITE_WRAPPER="qemu-aarch64 -cpu max,sve=true,sve512=true -L /usr/aarch64-linux-gnu/"
# arm64 build and fast testsuite (qemu)
# NOTE: This entry omits the -cpu flag so that while both NEON and SVE kernels
# are compiled, only NEON kernels will be tested. (h/t to RuQing Xu)
- os: linux
compiler: aarch64-linux-gnu-gcc-10
env: OOT=0 TEST=FAST SDE=0 THR="none" CONF="arm64" \
CC=aarch64-linux-gnu-gcc-10 CXX=aarch64-linux-gnu-g++-10 \
PACKAGES="gcc-10-aarch64-linux-gnu g++-10-aarch64-linux-gnu libc6-dev-arm64-cross qemu-system-arm qemu-user" \
TESTSUITE_WRAPPER="qemu-aarch64 -L /usr/aarch64-linux-gnu/"
install:
- if [ "$CC" = "gcc" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then export CC="gcc-9"; fi
- if [ -n "$PACKAGES" ] && [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install -y $PACKAGES; fi
Expand Down
2 changes: 2 additions & 0 deletions config/arm64/bli_family_arm64.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@
// -- MEMORY ALLOCATION --------------------------------------------------------

#define BLIS_SIMD_ALIGN_SIZE 16

#define BLIS_SIMD_MAX_SIZE 128 // Note: The default is 64.
#define BLIS_SIMD_MAX_NUM_REGISTERS 32

// SVE-specific configs.
Expand Down
18 changes: 9 additions & 9 deletions travis/do_testsuite.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,27 +9,27 @@ export BLIS_JR_NT=1
export BLIS_IR_NT=1

if [ "$TEST" = "FAST" -o "$TEST" = "ALL" ]; then
make testblis-fast
$DIST_PATH/testsuite/check-blistest.sh ./output.testsuite
make testblis-fast || cat ./output.testsuite
$DIST_PATH/testsuite/check-blistest.sh ./output.testsuite
fi

if [ "$TEST" = "MD" -o "$TEST" = "ALL" ]; then
make testblis-md
$DIST_PATH/testsuite/check-blistest.sh ./output.testsuite
make testblis-md || cat ./output.testsuite
$DIST_PATH/testsuite/check-blistest.sh ./output.testsuite
fi

if [ "$TEST" = "SALT" -o "$TEST" = "ALL" ]; then
# Disable multithreading within BLIS.
export BLIS_JC_NT=1 BLIS_IC_NT=1 BLIS_JR_NT=1 BLIS_IR_NT=1
make testblis-salt
$DIST_PATH/testsuite/check-blistest.sh ./output.testsuite
make testblis-salt || cat ./output.testsuite
$DIST_PATH/testsuite/check-blistest.sh ./output.testsuite
fi

if [ "$TEST" = "1" -o "$TEST" = "ALL" ]; then
make testblis
$DIST_PATH/testsuite/check-blistest.sh ./output.testsuite
make testblis || cat ./output.testsuite
$DIST_PATH/testsuite/check-blistest.sh ./output.testsuite
fi

make testblas
make testblas || cat ./output.testsuite
$DIST_PATH/blastest/check-blastest.sh

0 comments on commit 0b421ef

Please sign in to comment.