diff --git a/.github/workflows/release-python.yml b/.github/workflows/release-python.yml index 208c3288fe0..5f06b9767a9 100644 --- a/.github/workflows/release-python.yml +++ b/.github/workflows/release-python.yml @@ -37,28 +37,29 @@ jobs: - uses: actions/upload-artifact@v4 with: + name: sdist path: dist/*.tar.gz build_wheels: - name: ${{ matrix.arch }} ${{ matrix.build }} on ${{ matrix.os }} + name: ${{ matrix.arch }} ${{ matrix.build_id }} on ${{ matrix.os }} runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - - { os: ubuntu-20.04, arch: x86_64, build: 'cp*-manylinux*' } - - { os: ubuntu-20.04, arch: x86_64, build: 'cp*-musllinux*' } - - { os: ubuntu-20.04, arch: x86_64, build: 'pp*' } - - { os: ubuntu-20.04, arch: i686, build: 'cp*-manylinux*' } - - { os: ubuntu-20.04, arch: i686, build: 'cp*-musllinux*' } - - { os: ubuntu-20.04, arch: i686, build: 'pp*' } - - { os: windows-2019, arch: x86, build: 'cp*' } - - { os: windows-2019, arch: AMD64, build: 'cp*' } - - { os: windows-2019, arch: AMD64, build: 'pp*' } - - { os: windows-2019, arch: ARM64, build: 'cp*' } - - { os: macos-latest, arch: x86_64, build: 'cp*' } - - { os: macos-latest, arch: x86_64, build: 'pp*' } - - { os: macos-latest, arch: arm64, build: 'cp*' } + - { os: ubuntu-20.04, arch: x86_64, build: 'cp*-manylinux*', build_id: cp-manylinux } + - { os: ubuntu-20.04, arch: x86_64, build: 'cp*-musllinux*', build_id: cp-musllinux } + - { os: ubuntu-20.04, arch: x86_64, build: 'pp*', build_id: pp } + - { os: ubuntu-20.04, arch: i686, build: 'cp*-manylinux*', build_id: cp-manylinux } + - { os: ubuntu-20.04, arch: i686, build: 'cp*-musllinux*', build_id: cp-musllinux } + - { os: ubuntu-20.04, arch: i686, build: 'pp*', build_id: pp } + - { os: windows-2019, arch: x86, build: 'cp*', build_id: cp } + - { os: windows-2019, arch: AMD64, build: 'cp*', build_id: cp } + - { os: windows-2019, arch: AMD64, build: 'pp*', build_id: pp } + - { os: windows-2019, arch: ARM64, build: 'cp*', build_id: cp } + - { os: macos-latest, arch: x86_64, build: 'cp*', build_id: cp } + - { os: macos-latest, arch: x86_64, build: 'pp*', build_id: pp } + - { os: macos-latest, arch: arm64, build: 'cp*', build_id: cp } steps: - uses: actions/checkout@v4 @@ -221,30 +222,19 @@ jobs: - name: Upload wheels uses: actions/upload-artifact@v4 with: + name: wheels-${{ matrix.os }}-${{ matrix.arch }}-${{ matrix.build_id }} path: wheelhouse/*.whl - build_wheels_qemu: - name: ${{ matrix.arch }} ${{ matrix.build }} + build_wheels_qemu_cp: + name: ${{ matrix.arch }} ${{ matrix.build_cp }} ${{ matrix.build_sub }} runs-on: ubuntu-20.04 strategy: fail-fast: false matrix: arch: [aarch64, ppc64le, s390x] - build: [ 'cp36-manylinux*', 'cp37-manylinux*', 'cp38-manylinux*', - 'cp39-manylinux*', 'cp310-manylinux*', 'cp311-manylinux*', - 'cp312-manylinux*', 'cp36-musllinux*', 'cp37-musllinux*', - 'cp38-musllinux*', 'cp39-musllinux*', 'cp310-musllinux*', - 'cp311-musllinux*', 'cp312-musllinux*' ] - include: - - arch: aarch64 - build: 'pp37-*' - - arch: aarch64 - build: 'pp38-*' - - arch: aarch64 - build: 'pp39-*' - - arch: aarch64 - build: 'pp310-*' + build_cp: [cp36, cp37, cp38, cp39, cp310, cp311, cp312] + build_sub: [manylinux, musllinux] steps: - uses: actions/checkout@v4 @@ -264,7 +254,55 @@ jobs: uses: pypa/cibuildwheel@v2.16.2 env: CIBW_ARCHS_LINUX: ${{ matrix.arch }} - CIBW_BUILD: ${{ matrix.build }} + CIBW_BUILD: ${{ matrix.build_cp }}-${{ matrix.build_sub }}* + CIBW_BUILD_VERBOSITY: 1 + CIBW_ENVIRONMENT: CMAKE_BUILD_PARALLEL_LEVEL=2 + with: + output-dir: wheelhouse + + - name: Show files + run: ls -lh wheelhouse + shell: bash + + - name: Verify clean directory + run: git diff --exit-code + shell: bash + + - name: Upload wheels + uses: actions/upload-artifact@v4 + with: + name: wheels_qemu_cp-${{ matrix.arch }}-${{ matrix.build_cp }}-${{ matrix.build_sub }} + path: wheelhouse/*.whl + + build_wheels_qemu_pp: + name: ${{ matrix.arch }} ${{ matrix.build_pp }} + runs-on: ubuntu-20.04 + + strategy: + fail-fast: false + matrix: + arch: [aarch64] + build_pp: [pp37, pp38, pp39, pp310] + + steps: + - uses: actions/checkout@v4 + with: + submodules: true + + - uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + with: + platforms: all + + - name: Build wheels for manylinux with qemu + uses: pypa/cibuildwheel@v2.16.2 + env: + CIBW_ARCHS_LINUX: ${{ matrix.arch }} + CIBW_BUILD: ${{ matrix.build_pp }}-* CIBW_BUILD_VERBOSITY: 1 CIBW_ENVIRONMENT: CMAKE_BUILD_PARALLEL_LEVEL=2 with: @@ -281,13 +319,14 @@ jobs: - name: Upload wheels uses: actions/upload-artifact@v4 with: + name: wheels_qemu_pp-${{ matrix.arch }}-${{ matrix.build_pp }} path: wheelhouse/*.whl upload_all: permissions: contents: none name: Upload - needs: [build_wheels, build_wheels_qemu, build_sdist] + needs: [build_wheels, build_wheels_qemu_cp, build_wheels_qemu_pp, build_sdist] runs-on: ubuntu-latest steps: @@ -297,8 +336,8 @@ jobs: - uses: actions/download-artifact@v4 with: - name: artifact path: dist + merge-multiple: true - uses: pypa/gh-action-pypi-publish@release/v1 with: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f99d47c711c..6117882c165 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2299,7 +2299,7 @@ jobs: run: | mkdir build-armv7 && cd build-armv7 cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_USE_LEGACY_TOOLCHAIN_FILE=False -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DNCNN_VERSION_STRING="${{ needs.setup.outputs.VERSION }}" \ - -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-21 \ + -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-14 \ -DNCNN_VULKAN=ON -DNCNN_BUILD_BENCHMARK=OFF .. cmake --build . -j 2 cmake --build . --target install/strip @@ -2315,7 +2315,7 @@ jobs: run: | mkdir build-x86 && cd build-x86 cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_USE_LEGACY_TOOLCHAIN_FILE=False -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DNCNN_VERSION_STRING="${{ needs.setup.outputs.VERSION }}" \ - -DANDROID_ABI="x86" -DANDROID_PLATFORM=android-21 \ + -DANDROID_ABI="x86" -DANDROID_PLATFORM=android-14 \ -DNCNN_VULKAN=ON -DNCNN_BUILD_BENCHMARK=OFF .. cmake --build . -j 2 cmake --build . --target install/strip @@ -2358,7 +2358,7 @@ jobs: run: | mkdir build-armv7 && cd build-armv7 cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_USE_LEGACY_TOOLCHAIN_FILE=False -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DNCNN_VERSION_STRING="${{ needs.setup.outputs.VERSION }}" \ - -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-21 \ + -DANDROID_ABI="armeabi-v7a" -DANDROID_ARM_NEON=ON -DANDROID_PLATFORM=android-14 \ -DNCNN_VULKAN=ON -DNCNN_BUILD_BENCHMARK=OFF -DNCNN_SHARED_LIB=ON .. cmake --build . -j 2 cmake --build . --target install/strip @@ -2374,7 +2374,7 @@ jobs: run: | mkdir build-x86 && cd build-x86 cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_LATEST_HOME/build/cmake/android.toolchain.cmake -DANDROID_USE_LEGACY_TOOLCHAIN_FILE=False -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install -DNCNN_VERSION_STRING="${{ needs.setup.outputs.VERSION }}" \ - -DANDROID_ABI="x86" -DANDROID_PLATFORM=android-21 \ + -DANDROID_ABI="x86" -DANDROID_PLATFORM=android-14 \ -DNCNN_VULKAN=ON -DNCNN_BUILD_BENCHMARK=OFF -DNCNN_SHARED_LIB=ON .. cmake --build . -j 2 cmake --build . --target install/strip diff --git a/README.md b/README.md index 3f1904d8f15..0ec4f1ac145 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![NCNN](https://raw.githubusercontent.com/Tencent/ncnn/master/images/256-ncnn.png) +![ncnn](https://raw.githubusercontent.com/Tencent/ncnn/master/images/256-ncnn.png) # ncnn @@ -71,7 +71,7 @@ https://github.com/Tencent/ncnn/releases/latest Source - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-full-source.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-full-source.zip) @@ -91,8 +91,8 @@ https://github.com/Tencent/ncnn/releases/latest Android - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-android-vulkan.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-android-vulkan-shared.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-android-vulkan.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-android-vulkan-shared.zip) @@ -105,8 +105,8 @@ https://github.com/Tencent/ncnn/releases/latest Android cpuonly - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-android.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-android-shared.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-android.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-android-shared.zip) @@ -125,8 +125,8 @@ https://github.com/Tencent/ncnn/releases/latest iOS - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ios-vulkan.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ios-vulkan-bitcode.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ios-vulkan.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ios-vulkan-bitcode.zip) @@ -139,8 +139,8 @@ https://github.com/Tencent/ncnn/releases/latest iOS cpuonly - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ios.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ios-bitcode.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ios.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ios-bitcode.zip) @@ -148,8 +148,8 @@ https://github.com/Tencent/ncnn/releases/latest iOS-Simulator - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ios-simulator-vulkan.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ios-simulator-vulkan-bitcode.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ios-simulator-vulkan.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ios-simulator-vulkan-bitcode.zip) @@ -162,14 +162,14 @@ https://github.com/Tencent/ncnn/releases/latest iOS-Simulator cpuonly - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ios-simulator.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ios-simulator-bitcode.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ios-simulator.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ios-simulator-bitcode.zip) - + @@ -182,7 +182,7 @@ https://github.com/Tencent/ncnn/releases/latest macOS - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-macos-vulkan.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-macos-vulkan.zip) @@ -195,7 +195,7 @@ https://github.com/Tencent/ncnn/releases/latest macOS cpuonly - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-macos.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-macos.zip) @@ -203,8 +203,8 @@ https://github.com/Tencent/ncnn/releases/latest Mac-Catalyst - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-mac-catalyst-vulkan.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-mac-catalyst-vulkan-bitcode.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-mac-catalyst-vulkan.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-mac-catalyst-vulkan-bitcode.zip) @@ -217,8 +217,50 @@ https://github.com/Tencent/ncnn/releases/latest Mac-Catalyst cpuonly - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-mac-catalyst.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-mac-catalyst-bitcode.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-mac-catalyst.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-mac-catalyst-bitcode.zip) + + + + +watchOS + + + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-watchos.zip) + + + + + [](https://github.com/Tencent/ncnn/actions?query=workflow%3Awatchos-cpu) + + + + +watchOS-Simulator + + + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-watchos-simulator.zip) + + + + +tvOS + + + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-tvos.zip) + + + + + [](https://github.com/Tencent/ncnn/actions?query=workflow%3Atvos-cpu) + + + + +tvOS-Simulator + + + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-tvos-simulator.zip) @@ -226,8 +268,8 @@ https://github.com/Tencent/ncnn/releases/latest Apple xcframework - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-apple-vulkan.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-apple-vulkan-bitcode.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-apple-vulkan.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-apple-vulkan-bitcode.zip) @@ -238,8 +280,8 @@ https://github.com/Tencent/ncnn/releases/latest Apple xcframework cpuonly - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-apple.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-apple-bitcode.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-apple.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-apple-bitcode.zip) @@ -258,8 +300,8 @@ https://github.com/Tencent/ncnn/releases/latest Ubuntu 20.04 - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ubuntu-2004.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ubuntu-2004-shared.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ubuntu-2004.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ubuntu-2004-shared.zip) @@ -272,8 +314,8 @@ https://github.com/Tencent/ncnn/releases/latest Ubuntu 22.04 - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ubuntu-2204.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-ubuntu-2204-shared.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ubuntu-2204.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-ubuntu-2204-shared.zip) @@ -292,8 +334,8 @@ https://github.com/Tencent/ncnn/releases/latest VS2015 - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-windows-vs2015.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-windows-vs2015-shared.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-windows-vs2015.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-windows-vs2015-shared.zip) @@ -306,8 +348,8 @@ https://github.com/Tencent/ncnn/releases/latest VS2017 - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-windows-vs2017.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-windows-vs2017-shared.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-windows-vs2017.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-windows-vs2017-shared.zip) @@ -315,8 +357,8 @@ https://github.com/Tencent/ncnn/releases/latest VS2019 - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-windows-vs2019.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-windows-vs2019-shared.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-windows-vs2019.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-windows-vs2019-shared.zip) @@ -324,8 +366,8 @@ https://github.com/Tencent/ncnn/releases/latest VS2022 - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-windows-vs2022.zip) - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-windows-vs2022-shared.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-windows-vs2022.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-windows-vs2022-shared.zip) @@ -344,7 +386,7 @@ https://github.com/Tencent/ncnn/releases/latest WebAssembly - [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20231027-webassembly.zip) + [](https://github.com/Tencent/ncnn/releases/latest/download/ncnn-20240102-webassembly.zip)