From 33bc13d7e95d90dd5497909fc1657586fdfd72c0 Mon Sep 17 00:00:00 2001 From: mattip Date: Fri, 26 Jul 2024 18:23:22 +0300 Subject: [PATCH 01/23] refactor to use travis_wait --- .travis.yml | 9 +-------- tools/build_steps.sh | 10 ++++++++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8b739d32..aececde2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,14 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - | - if [ ${TRAVIS_EVENT_TYPE} == "cron" ]; then - travis wait build_lib "$PLAT" "$INTERFACE64" 1 - version=$(cd OpenBLAS && git describe --tags --abbrev=8 | sed -e "s/^v\(.*\)-g.*/\1/" | sed -e "s/-/./g") - sed -e "s/^version = .*/version = \"${version}\"/" -i.bak pyproject.toml - else - travis wait build_lib "$PLAT" "$INTERFACE64" 0 - fi + - travis_wait build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 859bfacd..73f8522e 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -213,3 +213,13 @@ function do_build_lib { $BUILD_PREFIX/lib/pkgconfig/scipy-openblas* \ $BUILD_PREFIX/lib/cmake/openblas } + +function build_on_travis { + if [ ${TRAVIS_EVENT_TYPE} == "cron" ]; then + build_lib "$PLAT" "$INTERFACE64" 1 + version=$(cd OpenBLAS && git describe --tags --abbrev=8 | sed -e "s/^v\(.*\)-g.*/\1/" | sed -e "s/-/./g") + sed -e "s/^version = .*/version = \"${version}\"/" -i.bak pyproject.toml + else + build_lib "$PLAT" "$INTERFACE64" 0 + fi +} From d3edc32fe55da6ce02b23f75091d7433213fae79 Mon Sep 17 00:00:00 2001 From: mattip Date: Sat, 27 Jul 2024 21:11:41 +0300 Subject: [PATCH 02/23] make the timeout 30 minutes on travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index aececde2..5f5fe425 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,7 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - travis_wait build_on_travis + - travis_wait 30 build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh From 9b0a3b3e45d2e14dcc7c40a73fc908b9c68af1c7 Mon Sep 17 00:00:00 2001 From: mattip Date: Sat, 27 Jul 2024 22:08:15 +0300 Subject: [PATCH 03/23] debug --- tools/build_steps.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 73f8522e..9a060df8 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -177,10 +177,10 @@ function do_build_lib { CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ - BINARY=$bitness $interface_flags $target_flags shared > /dev/null + BINARY=$bitness $interface_flags $target_flags shared make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ - BINARY=$bitness $interface_flags $target_flags tests + BINARY=$bitness $interface_flags $target_flags tests > /dev/null make PREFIX=$BUILD_PREFIX $interface_flags install popd stop_spinner From ef3584e0f4b20e9e7614c5f65961ba2f070e4589 Mon Sep 17 00:00:00 2001 From: mattip Date: Sat, 27 Jul 2024 23:05:41 +0300 Subject: [PATCH 04/23] debug --- tools/build_steps.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 9a060df8..5e9c8dfc 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -174,13 +174,14 @@ function do_build_lib { git config --global --add safe.directory '*' pushd OpenBLAS patch_source + exit -1 CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ - BINARY=$bitness $interface_flags $target_flags shared + BINARY=$bitness $interface_flags $target_flags shared > /dev/null make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ - BINARY=$bitness $interface_flags $target_flags tests > /dev/null + BINARY=$bitness $interface_flags $target_flags tests make PREFIX=$BUILD_PREFIX $interface_flags install popd stop_spinner From ef0c28a51f58b1a95404f5ffd6f3182613bd103f Mon Sep 17 00:00:00 2001 From: mattip Date: Sat, 27 Jul 2024 23:22:56 +0300 Subject: [PATCH 05/23] debug --- tools/build_steps.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 5e9c8dfc..3097969a 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -82,6 +82,7 @@ function build_lib { echo pulling image ${docker_image} docker pull $docker_image echo done pulling image, starting docker run + exit -1 # Docker sources this script, and runs `do_build_lib` docker run --rm \ -e BUILD_PREFIX="$BUILD_PREFIX" \ @@ -174,7 +175,6 @@ function do_build_lib { git config --global --add safe.directory '*' pushd OpenBLAS patch_source - exit -1 CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ From 88f1c5a6724d790880d6ec01a8ad22e163242347 Mon Sep 17 00:00:00 2001 From: mattip Date: Sat, 27 Jul 2024 23:35:06 +0300 Subject: [PATCH 06/23] debug --- .travis.yml | 2 +- tools/build_steps.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5f5fe425..a84e100d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,7 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - travis_wait 30 build_on_travis + - build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 3097969a..5e9c8dfc 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -82,7 +82,6 @@ function build_lib { echo pulling image ${docker_image} docker pull $docker_image echo done pulling image, starting docker run - exit -1 # Docker sources this script, and runs `do_build_lib` docker run --rm \ -e BUILD_PREFIX="$BUILD_PREFIX" \ @@ -175,6 +174,7 @@ function do_build_lib { git config --global --add safe.directory '*' pushd OpenBLAS patch_source + exit -1 CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ From 00e3a6bf727daaab04c03ed49b372eed75c1132b Mon Sep 17 00:00:00 2001 From: mattip Date: Sat, 27 Jul 2024 23:54:57 +0300 Subject: [PATCH 07/23] debug --- .travis.yml | 2 +- tools/build_steps.sh | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index a84e100d..4bcb2ff0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,7 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - build_on_travis + - travis_wait 40 build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 5e9c8dfc..b55695ec 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -174,11 +174,12 @@ function do_build_lib { git config --global --add safe.directory '*' pushd OpenBLAS patch_source - exit -1 + echo start building CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ BINARY=$bitness $interface_flags $target_flags shared > /dev/null + echo done building, now testing make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ BINARY=$bitness $interface_flags $target_flags tests From 4766a701d2321b5ca60514be54697b06b882364a Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 07:48:57 +0300 Subject: [PATCH 08/23] debug --- tools/build_steps.sh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index b55695ec..9d71bc2b 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -9,6 +9,13 @@ source ${ROOT_DIR}/gfortran-install/gfortran_utils.sh MB_PYTHON_VERSION=3.9 +function get_os3 { + # Report OS as given by uname + # Use any Python that comes to hand. + python3 -c 'import platform; print(platform.uname()[0])' +} + + function before_build { # Manylinux Python version set in build_lib if [ -n "$IS_OSX" ]; then @@ -122,7 +129,8 @@ function do_build_lib { local interface64=$3 local nightly=$4 echo "Building with settings: '$plat' '$suffix' '$interface64'" - case $(get_os)-$plat in + echo get_os3 is $(get_os3) + case $(get_os3)-$plat in Linux-x86_64) local bitness=64 local target_flags="TARGET=PRESCOTT" From c250e4f62d772dd5255f337680c35d713c38238c Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 08:33:05 +0300 Subject: [PATCH 09/23] debug --- tools/build_steps.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 9d71bc2b..0cee0aa9 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -130,6 +130,7 @@ function do_build_lib { local nightly=$4 echo "Building with settings: '$plat' '$suffix' '$interface64'" echo get_os3 is $(get_os3) + exit -1 case $(get_os3)-$plat in Linux-x86_64) local bitness=64 From 01caedae21196b0c146d8a444a4b07fb3a5d5b38 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 10:02:32 +0300 Subject: [PATCH 10/23] debug --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 4bcb2ff0..a84e100d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,7 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - travis_wait 40 build_on_travis + - build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh From b8d655a7afee0aad47cf8f1dcb66a20a9d67a680 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 10:17:31 +0300 Subject: [PATCH 11/23] debug --- tools/build_steps.sh | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 0cee0aa9..e6cace2c 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -9,13 +9,6 @@ source ${ROOT_DIR}/gfortran-install/gfortran_utils.sh MB_PYTHON_VERSION=3.9 -function get_os3 { - # Report OS as given by uname - # Use any Python that comes to hand. - python3 -c 'import platform; print(platform.uname()[0])' -} - - function before_build { # Manylinux Python version set in build_lib if [ -n "$IS_OSX" ]; then @@ -129,9 +122,9 @@ function do_build_lib { local interface64=$3 local nightly=$4 echo "Building with settings: '$plat' '$suffix' '$interface64'" - echo get_os3 is $(get_os3) + echo get_os is $(get_os) exit -1 - case $(get_os3)-$plat in + case $(get_os)-$plat in Linux-x86_64) local bitness=64 local target_flags="TARGET=PRESCOTT" From 631308902521f4ce3f4ec84680e983d87f6a4949 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 10:29:20 +0300 Subject: [PATCH 12/23] debug --- tools/build_steps.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index e6cace2c..3ca27bdc 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -121,9 +121,6 @@ function do_build_lib { local suffix=$2 local interface64=$3 local nightly=$4 - echo "Building with settings: '$plat' '$suffix' '$interface64'" - echo get_os is $(get_os) - exit -1 case $(get_os)-$plat in Linux-x86_64) local bitness=64 @@ -170,6 +167,10 @@ function do_build_lib { ;; esac interface_flags="$interface_flags SYMBOLPREFIX=scipy_ LIBNAMEPREFIX=scipy_ FIXED_LIBNAME=1" + echo "Building with settings: plat:'$plat' suffix:'$suffix' interface64:'$interface64'" + echo " interface_flags:'$interface_flags'" + echo " target_flags:'$target_flags'" + exit -1 mkdir -p libs start_spinner set -x From 5675774729f5c2621acdd01afb356e191a25731e Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 10:37:06 +0300 Subject: [PATCH 13/23] debug --- tools/build_steps.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 3ca27bdc..8a50057a 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -170,14 +170,15 @@ function do_build_lib { echo "Building with settings: plat:'$plat' suffix:'$suffix' interface64:'$interface64'" echo " interface_flags:'$interface_flags'" echo " target_flags:'$target_flags'" - exit -1 mkdir -p libs start_spinner set -x + echo git config git config --global --add safe.directory '*' pushd OpenBLAS patch_source echo start building + exit -1 CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ From 5ee0aca58719eb391964970e8c2c79b6060fbbc4 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 10:42:01 +0300 Subject: [PATCH 14/23] debug --- tools/build_steps.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 8a50057a..482ecf57 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -178,11 +178,10 @@ function do_build_lib { pushd OpenBLAS patch_source echo start building - exit -1 CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ - BINARY=$bitness $interface_flags $target_flags shared > /dev/null + BINARY=$bitness $interface_flags $target_flags shared echo done building, now testing make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ From ed072ac7c80b1425bba7f890c02fa2e39bbc5c29 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 11:11:21 +0300 Subject: [PATCH 15/23] debug --- .travis.yml | 2 +- tools/build_steps.sh | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index a84e100d..17a55a0b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,7 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - build_on_travis + - travis_wait 20 build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 482ecf57..b592bf69 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -173,7 +173,6 @@ function do_build_lib { mkdir -p libs start_spinner set -x - echo git config git config --global --add safe.directory '*' pushd OpenBLAS patch_source @@ -181,7 +180,7 @@ function do_build_lib { CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ - BINARY=$bitness $interface_flags $target_flags shared + BINARY=$bitness $interface_flags $target_flags shared 2>&1 1>/dev/null echo done building, now testing make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ From 9e9587a8d523fa3e28fe26b607600d3a1cc4e4b8 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 11:59:38 +0300 Subject: [PATCH 16/23] debug --- .travis.yml | 2 +- tools/build_steps.sh | 22 +++++++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index 17a55a0b..a84e100d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -85,7 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - travis_wait 20 build_on_travis + - build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh diff --git a/tools/build_steps.sh b/tools/build_steps.sh index b592bf69..2ea331e4 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -139,6 +139,7 @@ function do_build_lib { Linux-aarch64) local bitness=64 local target_flags="TARGET=ARMV8" + local dynamic_list="ARMV8 NEOVERSEN1 ARMV8SVE THUNDERX THUNDERX3T110" ;; Darwin-arm64) local bitness=64 @@ -167,27 +168,30 @@ function do_build_lib { ;; esac interface_flags="$interface_flags SYMBOLPREFIX=scipy_ LIBNAMEPREFIX=scipy_ FIXED_LIBNAME=1" - echo "Building with settings: plat:'$plat' suffix:'$suffix' interface64:'$interface64'" - echo " interface_flags:'$interface_flags'" - echo " target_flags:'$target_flags'" mkdir -p libs - start_spinner set -x git config --global --add safe.directory '*' pushd OpenBLAS patch_source echo start building - CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ - make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ - USE_OPENMP=0 NUM_THREADS=64 \ - BINARY=$bitness $interface_flags $target_flags shared 2>&1 1>/dev/null + if [[ -v dynamic_list ]]; then + CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ + make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ + USE_OPENMP=0 NUM_THREADS=64 \ + DYNAMIC_LIST="$dynamic_list" \ + BINARY=$bitness $interface_flags $target_flags shared 2>&1 1>/dev/null + else + CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ + make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ + USE_OPENMP=0 NUM_THREADS=64 \ + BINARY=$bitness $interface_flags $target_flags shared 2>&1 1>/dev/null + fi echo done building, now testing make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ BINARY=$bitness $interface_flags $target_flags tests make PREFIX=$BUILD_PREFIX $interface_flags install popd - stop_spinner if [ "$nightly" = "1" ]; then local version="HEAD" else From b86c064ab740309f175d93b7385df22ceffd8e80 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 14:10:58 +0300 Subject: [PATCH 17/23] move aarch64 to github (will use qemu in a docker) --- .github/workflows/posix.yml | 18 ++++++++++++++++++ .travis.yml | 30 ------------------------------ tools/build_steps.sh | 1 - 3 files changed, 18 insertions(+), 31 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 14f4d7ab..0022c3a1 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -45,6 +45,24 @@ jobs: INTERFACE64: '0' MB_ML_LIBC: musllinux MB_ML_VER: _1_1 + + - os: ubuntu-latest + PLAT: aarch64 + INTERFACE64: '0' + - os: ubuntu-latest + PLAT: aarch64 + INTERFACE64: '1' + - os: ubuntu-latest + PLAT: aarch64 + INTERFACE64: '0' + MB_ML_LIBC: musllinux + MB_ML_VER: _1_1 + - os: ubuntu-latest + PLAT: aarch64 + INTERFACE64: '1' + MB_ML_LIBC: musllinux + MB_ML_VER: _1_1 + exclude: - PLAT: i686 os: macos-13 diff --git a/.travis.yml b/.travis.yml index a84e100d..1c3c9fc2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,36 +11,6 @@ services: docker matrix: include: - - os: linux - arch: arm64 - env: - - PLAT=aarch64 - - MB_ML_VER=_1_1 - - INTERFACE64=0 - - MB_ML_LIBC=musllinux - - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} - - os: linux - arch: arm64 - env: - - PLAT=aarch64 - - INTERFACE64=1 - - MB_ML_VER=_1_1 - - MB_ML_LIBC=musllinux - - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} - - os: linux - arch: arm64 - env: - - PLAT=aarch64 - - MB_ML_VER=2014 - - INTERFACE64=0 - - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} - - os: linux - arch: arm64 - env: - - PLAT=aarch64 - - INTERFACE64=1 - - MB_ML_VER=2014 - - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} - os: linux arch: s390x env: diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 2ea331e4..68d0fe33 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -139,7 +139,6 @@ function do_build_lib { Linux-aarch64) local bitness=64 local target_flags="TARGET=ARMV8" - local dynamic_list="ARMV8 NEOVERSEN1 ARMV8SVE THUNDERX THUNDERX3T110" ;; Darwin-arm64) local bitness=64 From 9eb21c681fbd707dc8788b8a843dc82105069115 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 14:40:24 +0300 Subject: [PATCH 18/23] allow docker to use qemu --- .github/workflows/posix.yml | 7 +++++++ tools/build_steps.sh | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 0022c3a1..1ce376d1 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -96,6 +96,13 @@ jobs: with: xcode-version: '14.3' + - name: Allow docker with qemu + if: ${{ matrix.PLAT == 'aarch64' }} + run: | + sudo apt-get update -q -y + sudo apt-get -qq install -y qemu qemu-user-static + sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes --credential yes + - name: Print some Environment variable run: | echo "PLAT: ${PLAT}" diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 68d0fe33..bd738d45 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -173,7 +173,7 @@ function do_build_lib { pushd OpenBLAS patch_source echo start building - if [[ -v dynamic_list ]]; then + if [ -v dynamic_list ]; then CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \ make BUFFERSIZE=20 DYNAMIC_ARCH=1 \ USE_OPENMP=0 NUM_THREADS=64 \ From 04651266e69beb2749f60468259ede14913a83c1 Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 16:26:12 +0300 Subject: [PATCH 19/23] add march for arm8 --- tools/build_steps.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index bd738d45..b1ba91bb 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -139,6 +139,7 @@ function do_build_lib { Linux-aarch64) local bitness=64 local target_flags="TARGET=ARMV8" + export CFLAGS="$CFLAGS -march=armv8.6-a+sve" ;; Darwin-arm64) local bitness=64 From 2de85ca6fe6d48687c2af2b1e125a030f02846ff Mon Sep 17 00:00:00 2001 From: mattip Date: Sun, 28 Jul 2024 16:50:27 +0300 Subject: [PATCH 20/23] limit arm8.5 on musllinux --- tools/build_steps.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/build_steps.sh b/tools/build_steps.sh index b1ba91bb..87852aef 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -139,7 +139,11 @@ function do_build_lib { Linux-aarch64) local bitness=64 local target_flags="TARGET=ARMV8" - export CFLAGS="$CFLAGS -march=armv8.6-a+sve" + if [ "$MB_ML_LIBC" == "musllinux" ]; then + export CFLAGS="$CFLAGS -march=armv8.5-a+sve" + else + export CFLAGS="$CFLAGS -march=armv8.6-a+sve" + fi ;; Darwin-arm64) local bitness=64 From 88719e4ced538d5671975bda3f44521778658f61 Mon Sep 17 00:00:00 2001 From: mattip Date: Mon, 29 Jul 2024 18:20:18 +0300 Subject: [PATCH 21/23] update to latest OpenBLAS HEAD --- .github/workflows/posix.yml | 2 +- .github/workflows/windows.yml | 2 +- .travis.yml | 2 +- pyproject.toml | 4 ++-- tools/build_steps.sh | 5 ----- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 1ce376d1..5babb137 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -11,7 +11,7 @@ on: env: REPO_DIR: OpenBLAS - OPENBLAS_COMMIT: "0929865" + OPENBLAS_COMMIT: "d11e7340" MACOSX_DEPLOYMENT_TARGET: 10.9 jobs: diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index c86930cf..88051fb4 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -8,7 +8,7 @@ on: workflow_dispatch: null env: - OPENBLAS_COMMIT: "0929865" + OPENBLAS_COMMIT: "d11e7340" OPENBLAS_ROOT: "c:\\opt" # Preserve working directory for calls into bash # Without this, invoking bash will cd to the home directory diff --git a/.travis.yml b/.travis.yml index 1c3c9fc2..7eb9d537 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,7 +2,7 @@ env: global: # The archive that gets built has name from ``git describe`` on this # commit. - - OPENBLAS_COMMIT: "0929865" + - OPENBLAS_COMMIT: "d11e7340" - REPO_DIR=OpenBLAS sudo: required diff --git a/pyproject.toml b/pyproject.toml index b85163a5..5a3a84b8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,8 +8,8 @@ build-backend = "setuptools.build_meta" [project] name = "scipy-openblas64" -# v0.3.27-341-g09298658 -version = "0.3.27.341.0" +# v0.3.27-350-gd11e7340 +version = "0.3.27.350.0" requires-python = ">=3.7" description = "Provides OpenBLAS for python packaging" readme = "README.md" diff --git a/tools/build_steps.sh b/tools/build_steps.sh index 87852aef..bd738d45 100644 --- a/tools/build_steps.sh +++ b/tools/build_steps.sh @@ -139,11 +139,6 @@ function do_build_lib { Linux-aarch64) local bitness=64 local target_flags="TARGET=ARMV8" - if [ "$MB_ML_LIBC" == "musllinux" ]; then - export CFLAGS="$CFLAGS -march=armv8.5-a+sve" - else - export CFLAGS="$CFLAGS -march=armv8.6-a+sve" - fi ;; Darwin-arm64) local bitness=64 From cc2bc7c7484994675d82c55d62431d7e40d3e775 Mon Sep 17 00:00:00 2001 From: mattip Date: Tue, 30 Jul 2024 07:02:13 +0300 Subject: [PATCH 22/23] add MB_ML_VER where needed --- .github/workflows/posix.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 5babb137..8ad96c68 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -49,9 +49,11 @@ jobs: - os: ubuntu-latest PLAT: aarch64 INTERFACE64: '0' + MB_ML_VER: '2014' - os: ubuntu-latest PLAT: aarch64 INTERFACE64: '1' + MB_ML_VER: '2014' - os: ubuntu-latest PLAT: aarch64 INTERFACE64: '0' From df90548f7c3abb52015b2458c179d225fd2b5787 Mon Sep 17 00:00:00 2001 From: mattip Date: Tue, 30 Jul 2024 10:39:01 +0300 Subject: [PATCH 23/23] now that aarch64 is working, try again on travis --- .github/workflows/posix.yml | 36 ++++++++++++++++++------------------ .travis.yml | 32 +++++++++++++++++++++++++++++++- 2 files changed, 49 insertions(+), 19 deletions(-) diff --git a/.github/workflows/posix.yml b/.github/workflows/posix.yml index 8ad96c68..ca6c41df 100644 --- a/.github/workflows/posix.yml +++ b/.github/workflows/posix.yml @@ -46,24 +46,24 @@ jobs: MB_ML_LIBC: musllinux MB_ML_VER: _1_1 - - os: ubuntu-latest - PLAT: aarch64 - INTERFACE64: '0' - MB_ML_VER: '2014' - - os: ubuntu-latest - PLAT: aarch64 - INTERFACE64: '1' - MB_ML_VER: '2014' - - os: ubuntu-latest - PLAT: aarch64 - INTERFACE64: '0' - MB_ML_LIBC: musllinux - MB_ML_VER: _1_1 - - os: ubuntu-latest - PLAT: aarch64 - INTERFACE64: '1' - MB_ML_LIBC: musllinux - MB_ML_VER: _1_1 + # - os: ubuntu-latest + # PLAT: aarch64 + # INTERFACE64: '0' + # MB_ML_VER: '2014' + # - os: ubuntu-latest + # PLAT: aarch64 + # INTERFACE64: '1' + # MB_ML_VER: '2014' + # - os: ubuntu-latest + # PLAT: aarch64 + # INTERFACE64: '0' + # MB_ML_LIBC: musllinux + # MB_ML_VER: _1_1 + # - os: ubuntu-latest + # PLAT: aarch64 + # INTERFACE64: '1' + # MB_ML_LIBC: musllinux + # MB_ML_VER: _1_1 exclude: - PLAT: i686 diff --git a/.travis.yml b/.travis.yml index 7eb9d537..e7ebaf41 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,6 +11,36 @@ services: docker matrix: include: + - os: linux + arch: arm64 + env: + - PLAT=aarch64 + - MB_ML_VER=_1_1 + - INTERFACE64=0 + - MB_ML_LIBC=musllinux + - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} + - os: linux + arch: arm64 + env: + - PLAT=aarch64 + - INTERFACE64=1 + - MB_ML_VER=_1_1 + - MB_ML_LIBC=musllinux + - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} + - os: linux + arch: arm64 + env: + - PLAT=aarch64 + - MB_ML_VER=2014 + - INTERFACE64=0 + - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} + - os: linux + arch: arm64 + env: + - PLAT=aarch64 + - INTERFACE64=1 + - MB_ML_VER=2014 + - DOCKER_TEST_IMAGE=multibuild/xenial_{PLAT} - os: linux arch: s390x env: @@ -55,7 +85,7 @@ install: script: # Build library and collect into libs subdirectory - - build_on_travis + - travis_wait 30 build_on_travis - libc=${MB_ML_LIBC:-manylinux} - docker_image=quay.io/pypa/${libc}${MB_ML_VER}_${PLAT} - docker run --rm -e INTERFACE64="${INTERFACE64}" -e MB_ML_LIBC="${MB_ML_LIBC}" -v $(pwd):/openblas "${docker_image}" /bin/bash -xe /openblas/tools/build_wheel.sh