Skip to content

bigdl-nano: Add version 2.4.0 - #3158

Draft
luhenry wants to merge 3 commits into
mainfrom
bigdl-nano
Draft

luhenry wants to merge 3 commits into
mainfrom
bigdl-nano

Conversation

@luhenry

@luhenry luhenry commented Oct 14, 2026 •

Copy link
Copy Markdown
Member

Pure Python plus bundled jemalloc 5.3.0, gperftools 2.10 (tcmalloc) and libjpeg-turbo 3.0.0 (libturbojpeg), which upstream downloads prebuilt for x86_64 only. Upstream publishes no riscv64 wheel (and no sdist).

Mirrors upstream's release.sh and the nano-init test of nano_unit_tests_basic.yml.

Differs from upstream

  • The three bundled libraries are built from their release tarballs instead of downloaded prebuilt.

Matrix: one py3-none wheel, tested on cp311: 2.4.0 pins setuptools<66, whose pkg_resources cannot import on Python 3.12+ on any arch.

Testing

  • Upstream's nano-init test (jemalloc and tcmalloc LD_PRELOAD checked in /proc/self/maps), plus a JPEG round-trip through the bundled libturbojpeg.
  • OpenVINO unit tests dropped - no riscv64 openvino-dev.

License: Wheel bundles jemalloc (BSD-2-Clause), gperftools (BSD-3-Clause) and libjpeg-turbo (IJG/BSD-3-Clause/Zlib); upstream ships no licence text for them, so the build adds it.

Rehearsed locally on x86_64 cp311; all checks passed.

bigdl-nano is pure Python plus three prebuilt shared libraries that
python/nano/setup.py downloads from analytics-zoo GitHub releases for
x86_64/macOS only: jemalloc 5.3.0, gperftools 2.10 (tcmalloc) and
libjpeg-turbo 3.0.0 (libturbojpeg). Those releases are built from
source in the manylinux image and dropped where setup.py looks for
them, then the wheel is built the way upstream's release.sh does it
(bdist_wheel --plat-name ... --python-tag py3).

Tested on cp311: 2.4.0 pins setuptools<66, whose pkg_resources needs
pkgutil.ImpImporter, so bigdl.nano cannot be imported on Python 3.12+
on any architecture. The test mirrors upstream's nano-init test and
also round-trips a JPEG header through the bundled libturbojpeg.

BigDL has since been renamed intel/ipex-llm and Nano was dropped;
2.4.0 is the last stable bigdl-nano release.
luhenry added a commit that referenced this pull request Oct 14, 2026
…, private-attribute-cpp -> ci-running (#3156, 2.1.17)
@luhenry
luhenry marked this pull request as draft October 14, 2026 11:32
libjpeg-turbo 3.0.0's CMakeLists.txt pins cmake_minimum_required below
CMake 4's removed floor, so the manylinux_riscv64 image's CMake 4.4.4
refused to configure it ("Compatibility with CMake < 3.5 has been
removed"). CMAKE_POLICY_VERSION_MINIMUM=3.5 is the escape hatch CMake's
own error message names.
The cp311 interpreter's python -m venv seeds pip from its bundled
ensurepip wheel (24.0), which vendors packaging 21.3 and has no
manylinux_*_riscv64 tag at all (gotcha 640). It rejected our own
correctly-tagged bigdl_nano-2.4.0-py3-none-manylinux_2_39_riscv64.whl
with "is not a supported wheel on this platform" before even looking
at its contents. --upgrade-deps pulls in pip >=24.1, whose packaging
24.1 added riscv64 support.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant