Skip to content

onnxruntime v1.24.2#169

Merged
cbourjau merged 5 commits intoconda-forge:mainfrom
regro-cf-autotick-bot:1.24.1_hf1792a
Mar 2, 2026
Merged

onnxruntime v1.24.2#169
cbourjau merged 5 commits intoconda-forge:mainfrom
regro-cf-autotick-bot:1.24.1_hf1792a

Conversation

@regro-cf-autotick-bot
Copy link
Copy Markdown
Contributor

@regro-cf-autotick-bot regro-cf-autotick-bot commented Feb 6, 2026

It is very likely that the current package version for this feedstock is out of date.

Checklist before merging this PR:

  • Dependencies have been updated if changed: see upstream
  • Tests have passed
  • Updated license if changed and license_file is packaged

Information about this PR:

  1. Feel free to push to the bot's branch to update this PR if needed.
  2. The bot will almost always only open one PR per version.
  3. The bot will stop issuing PRs if more than 3 version bump PRs generated by the bot are open. If you don't want to package a particular version please close the PR.
  4. If you want these PRs to be merged automatically, make an issue with @conda-forge-admin,please add bot automerge in the title and merge the resulting PR. This command will add our bot automerge feature to your feedstock.
  5. If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

Closes: #167

Pending Dependency Version Updates

Here is a list of all the pending dependency version updates for this repo. Please double check all dependencies before merging.

Name Upstream Version Current Version
protobuf 33.5 Anaconda-Server Badge
python-flatbuffers 25.12.19 Anaconda-Server Badge

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/21737426351 - please use this URL for debugging.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

conda-forge-admin commented Feb 6, 2026

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/22230653968. Examine the logs at this URL for more detail.

@cbourjau
Copy link
Copy Markdown
Contributor

cbourjau commented Feb 9, 2026

Running the tests single-threaded shows that the failing tests on osx-64 are likely due to a bug in the non-standard MatMulNBits operator (specifically, MatMulNBits.Float32_8b_AccuracyLevel4).

@cbourjau
Copy link
Copy Markdown
Contributor

Running the tests single-threaded shows that the failing tests on osx-64 are likely due to a bug in the non-standard MatMulNBits operator (specifically, MatMulNBits.Float32_8b_AccuracyLevel4).

I tried to disable the contrib operators, but that triggered further test failures. Upstream has dropped support for osx-64 with the 1.24.1 release (release note). Given the failing test and the lack of upstream support, I think it is fine to drop osx-64 here, too.

@traversaro
Copy link
Copy Markdown
Contributor

I tried to disable the contrib operators, but that triggered further test failures. Upstream has dropped support for osx-64 with the 1.24.1 release (release note). Given the failing test and the lack of upstream support, I think it is fine to drop osx-64 here, too.

xref: conda-forge/conda-forge.github.io#2646

@cbourjau
Copy link
Copy Markdown
Contributor

For future reference: Both Windows and Linux CUDA builds currently fail in the onnxruntime\contrib_ops\cuda\quantization\matmul_8bits.cu kernel.

Windows error:

[1733/1778] Building CUDA object CMakeFiles\onnxruntime_providers_cuda.dir\C_\bld\onnxruntime_1770885116860\work\onnxruntime\contrib_ops\cuda\quantization\matmul_8bits.cu.obj
FAILED: [code=5] CMakeFiles/onnxruntime_providers_cuda.dir/C_/bld/onnxruntime_1770885116860/work/onnxruntime/contrib_ops/cuda/quantization/matmul_8bits.cu.obj 
%BUILD_PREFIX%\Library\bin\nvcc.exe -forward-unknown-to-host-compiler -DCOMPILE_HOPPER_TMA_GEMMS -DCPUINFO_SUPPORTED -DCPUINFO_SUPPORTED_PLATFORM=1 -DDISABLE_CUSPARSE_DEPRECATED -DEIGEN_HAS_CONSTEXPR -DEIGEN_HAS_CXX11_ATOMIC -DEIGEN_HAS_CXX11_MATH -DEIGEN_HAS_VARIADIC_TEMPLATES -DEIGEN_MPL2_ONLY -DEIGEN_STRONG_INLINE=inline -DEIGEN_USE_THREADS -DENABLE_CUDA_NHWC_OPS -DENABLE_DLPACK -DENABLE_FP4 -DENABLE_FP8 -DFILE_NAME=\"onnxruntime_providers_cuda.dll\" -DHAS_STRING_VIEW=1 -DNOGDI -DNOMINMAX -DONLY_C_LOCALE=0 -DONNXRUNTIME_ENABLE_MEMLEAK_CHECK -DONNX_ML=1 -DONNX_NAMESPACE=onnx -DONNX_USE_LITE_PROTO=1 -DORT_ENABLE_STREAM -DPLATFORM_WINDOWS -DUSE_CUDA=1 -DUSE_FLASH_ATTENTION=1 -DUSE_MEMORY_EFFICIENT_ATTENTION=1 -DVER_BUILD=1 -DVER_MAJOR=1 -DVER_MINOR=24 -DVER_PRIVATE=0 -DVER_STRING=\"1.24.1\" -DWIN32_LEAN_AND_MEAN -D_SILENCE_ALL_CXX17_DEPRECATION_WARNINGS -D_USE_MATH_DEFINES -D__ONNX_NO_DOC_STRINGS -Donnxruntime_providers_cuda_EXPORTS -I%SRC_DIR%\include\onnxruntime -I%SRC_DIR%\include\onnxruntime\core\session 
Internal error
nvcc warning : Support for offline compilation for architectures prior to '<compute/sm/lto>_75' will be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
matmul_8bits.cu
nvcc error   : 'ptxas' died with status 0xC0000005 (ACCESS_VIOLATION)

Linux error:

[1494/1530] Building CUDA object CMakeFiles/onnxruntime_providers_cuda.dir$SRC_DIR/onnxruntime/contrib_ops/cuda/quantization/matmul_8bits.cu.o
FAILED: [code=139] CMakeFiles/onnxruntime_providers_cuda.dir$SRC_DIR/onnxruntime/contrib_ops/cuda/quantization/matmul_8bits.cu.o 
$BUILD_PREFIX/bin/nvcc -forward-unknown-to-host-compiler -DCOMPILE_HOPPER_TMA_GEMMS -DCPUINFO_SUPPORTED -DCPUINFO_SUPPORTED_PLATFORM=1 -DDISABLE_CUSPARSE_DEPRECATED -DEIGEN_MPL2_ONLY -DEIGEN_USE_THREADS -DENABLE_CUDA_NHWC_OPS -DENABLE_DLPACK -DENABLE_FP4 -DENABLE_FP8 -DHAS_STRING_VIEW=1 -DONLY_C_LOCALE=0 -DONNX_ML=1 -DONNX_NAMESPACE=onnx -DONNX_USE_LITE_PROTO=1 -DORT_ENABLE_STREAM -DPLATFORM_POSIX -DUSE_CUDA=1 -DUSE_FLASH_ATTENTION=1 -DUSE_MEMORY_EFFICIENT_ATTENTION=1 -D_GNU_SOURCE -D__ONNX_NO_DOC_STRINGS -Donnxruntime_providers_cuda_EXPORTS -I$SRC_DIR/include/onnxruntime -I$SRC_DIR/include/onnxruntime/core/session -I$SRC_DIR/build-ci/Release/_deps/pytorch_cpuinfo-src/include -I$SRC_DIR/build-ci/Release -I$SRC_DIR/onnxruntime -I$SRC_DIR/build-ci/Release/_deps/gsl-src/include -I$SRC_DIR/build-ci/Release/_deps/abseil_cpp-src -I$SRC_DIR/build-ci/Release/_deps/onnx-src -I$SRC_DIR/build-ci/Release/_deps/onnx-build -I$SRC_DIR/build-ci/Release/_deps/protobuf-src/src -I$SRC_DIR/build-ci/Release/_deps/flatbuffers-src/include -I$SRC_DIR/build-ci/Release/_deps/cutlass-src/include -I$SRC_DIR/build-ci/Release/_deps/cutlass-src/examples -I$SRC_DIR/build-ci/Release/_deps/cutlass-src/tools/util/include -I$SRC_DIR/build-ci/Release/_deps/cudnn_frontend-src/include -I$SRC_DIR/build-ci/Release/_deps/eigen3-src -isystem $SRC_DIR/build-ci/Release/_deps/safeint-src -isystem $PREFIX/include -isystem $BUILD_PREFIX/targets/x86_64-linux/include -isystem $SRC_DIR/build-ci/Release/_deps/mp11-src/include -Xfatbin=-compress-all --expt-relaxed-constexpr --Werror default-stream-launch -Xcudafe "--diag_suppress=bad_friend_decl" -Xcudafe "--diag_suppress=unsigned_compare_with_zero" -Xcudafe "--diag_suppress=expr_has_no_effect" -O3 -DNDEBUG "--generate-code=arch=compute_60,code=[sm_60]" "--generate-code=arch=compute_70,code=[sm_70]" "--generate-code=arch=compute_75,code=[sm_75]" "--generate-code=arch=compute_80,code=[sm_80]" "--generate-code=arch=compute_86,code=[sm_86]" "--generate-code=arch=compute_89,code=[sm_89]" "--generate-code=arch=compute_90a,code=[sm_90a]" "--generate-code=arch=compute_100a,code=[sm_100a]" "--generate-code=arch=compute_120a,code=[sm_120a]" -Xcompiler=-fPIC -Xcudafe --diag_suppress=conversion_function_not_usable --compiler-options -Wall --compiler-options -Wno-deprecated-copy --compiler-options -Wno-nonnull-compare --compiler-options -Wno-interference-size -Wno-strict-aliasing -Xcompiler -Wno-nonnull-compare -Xcompiler -Wno-interference-size --threads 1 --static-global-template-stub=false --diag-suppress=221 -Xcompiler -Wno-reorder -Xcompiler -Wno-error=sign-compare -Xptxas=-w -MD -MT CMakeFiles/onnxruntime_providers_cuda.dir$SRC_DIR/onnxruntime/contrib_ops/cuda/quantization/matmul_8bits.cu.o -MF CMakeFiles/onnxruntime_providers_cuda.dir$SRC_DIR/onnxruntime/contrib_ops/cuda/quantization/matmul_8bits.cu.o.d -x cu -c $SRC_DIR/onnxruntime/contrib_ops/cuda/quantization/matmul_8bits.cu -o CMakeFiles/onnxruntime_providers_cuda.dir$SRC_DIR/onnxruntime/contrib_ops/cuda/quantization/matmul_8bits.cu.o
nvcc warning : Support for offline compilation for architectures prior to '<compute/sm/lto>_75' will be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc error   : 'ptxas' died due to signal 11 (Invalid memory reference)
nvcc error   : 'ptxas' core dumped

The error seems to depend on the CUDA architectures. d5eaf74 , which had a reduced list of architectures (Windows: 80-real;86-real;89-real;90-real;100-real;120, Linux: 80;90;120), passed earlier.

I'll try to bisect the architectures.

@cbourjau
Copy link
Copy Markdown
Contributor

I think this is coming together now, @conda-forge/onnxruntime . Notable changes:

  • Fixed name collision of header file with glibc 2.17
  • Dropped 6.0 and 7.0 CUDA architecture, which appear to have caused build crashes (and were deprecated according to warnings)
  • Dropped osx-64 due to broken tests and lack of upstream support. I ran and tested the build locally on osx-aarch64
  • Enabled a modest amount of parallelism (4)
  • Replaced a couple of patches with cmake flags and build.py cli arguments.

Things to do (preferably in follow-up PRs):

  • Try to update the mentioned dependencies
  • Python 3.14 migration
  • Python free threading
  • CUDA 13.0
  • Housekeeping (patch naming and remove all mentions of osx-64)

Would be great to get a second pair of eyes on this!

Copy link
Copy Markdown
Member

@h-vetinari h-vetinari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Things to do (preferably in follow-up PRs):

I agree that good engineering practices are to keep changes separate, but I need to ask you to combine changes here as much as feasible. Not least with the -vec/-novec split, this feedstock has a huge impact on the limited CI resources we have for this, so single-purpose PRs are not a good thing here.

(and in the same vein: development of a PR should run with a restricted set of builds, e.g. only for one python version; until everything for that one version is green, then ask for review, and once everything is good to go, do a final fan-out to all the versions before merging)

For example, #168 is missing from your list, and should be folded into this or an upcoming PR (though with a cleaned up history without the skips & rerenders).

It's OK to merge this one if it's ready, but IMO everything on your list (with perhaps the exception of free threading) + CMake should go into a single PR.

@cbourjau
Copy link
Copy Markdown
Contributor

Thanks for your feedback @h-vetinari !

I now did the following (this PR is back to being a WIP):

  • Fixed the patches
  • Add the Python 3.14 migration (might need more work)
  • Reduced the build matrix (I knew that this feedstock is bad, but didn't know that it shows up soooo heavily in the overall budget, sorry)
  • Folded Add cmake files in onnxruntime-cpp #168 into 6e15ea0
  • Removed unused osx-64 code

I'll try:

  • The old Cuda 70-real arch
  • Cuda 13 migration

@h-vetinari
Copy link
Copy Markdown
Member

Thanks!

Reduced the build matrix (I knew that this feedstock is bad, but didn't know that it shows up soooo heavily in the overall budget, sorry)

It's not so much a budget question, as it is a question of a resource bottleneck that blocks anyone else from using the server for ~a day if you do a full build out. We're also working on improving this situation, but it'll still take a little while. Big CI always costs something somewhere...

@cbourjau
Copy link
Copy Markdown
Contributor

Python 3.14 seems partially broken on PyPI as well: microsoft/onnxruntime#27392

I'll remove it again from this PR for the time being 😞

@regro-cf-autotick-bot regro-cf-autotick-bot mentioned this pull request Feb 20, 2026
3 tasks
@conda-forge-admin
Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found some lint.

Here's what I've got...

For recipe/meta.yaml:

  • ❌ The recipe is not parsable by any of the known recipe parsers (['conda-forge-tick (the bot)', 'conda-recipe-manager', 'conda-souschef (grayskull)']). Please check the logs for more information and ensure your recipe can be parsed.

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-forge-tick (the bot). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.
  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/22231499544. Examine the logs at this URL for more detail.

@conda-forge-admin
Copy link
Copy Markdown
Contributor

conda-forge-admin commented Feb 20, 2026

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/22392316127. Examine the logs at this URL for more detail.

@cbourjau
Copy link
Copy Markdown
Contributor

Status update: The current build errors on Windows seem unrelated. I tried moving over to Pixi, but that gave me an actual error when building. Let's see if the Windows/micromamba error goes away in a couple of days...

@conda-forge-admin
Copy link
Copy Markdown
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found some lint.

Here's what I've got...

For recipe/meta.yaml:

  • ❌ You are setting c_stdlib_version below the current global baseline in conda-forge (11.0). If this is your intention, you also need to override MACOSX_DEPLOYMENT_TARGET (with the same value) locally.

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/22403647116. Examine the logs at this URL for more detail.

@cbourjau cbourjau changed the title onnxruntime v1.24.1 onnxruntime v1.24.2 Feb 25, 2026
@conda-forge-admin
Copy link
Copy Markdown
Contributor

conda-forge-admin commented Feb 25, 2026

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.
  • ℹ️ The recipe is not parsable by parser conda-recipe-manager. The recipe can only be automatically migrated to the new v1 format if it is parseable by conda-recipe-manager.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/22531959828. Examine the logs at this URL for more detail.

@cbourjau
Copy link
Copy Markdown
Contributor

The build server seems a bit clogged right now (Running now), but I think this PR is ready for another round of reviews @conda-forge/onnxruntime @h-vetinari . Here is the summary of changes:

Copy link
Copy Markdown
Contributor

@hmaarrfk hmaarrfk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Im ok with dropping osx-64. But I would like to rebase the patches to have fewer than 38

@cbourjau
Copy link
Copy Markdown
Contributor

I squashed the commits and enabled LTO, but I haven't faned out to the full matrix yet. I'll wait at least until tomorrow with that to see if anybody else has feedback.

Copy link
Copy Markdown
Member

@h-vetinari h-vetinari left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nicely done!

(the 70-architecture is included in 12.9 builds, but excluded on 13.0 due to build failures)

it's not really a failure, CUDA 13.0 has simply dropped support for anything below sm_75.

@hmaarrfk
Copy link
Copy Markdown
Contributor

2 approvals. i think you can start to build the final version

@h-vetinari
Copy link
Copy Markdown
Member

OK, so the build here is basically finished now; the matrix is getting pretty hard to build out, so if moving to the stable ABI is feasible, we should try that (independently of this PR, which can be merged as-is).

As another comment: it's good to keep a clean commit history, but 289015f does too much, especially for its very unassuming commit message. In general, please keep changes in /recipe and .ci_support/migrations separate from any rerender commits.

@cbourjau
Copy link
Copy Markdown
Contributor

cbourjau commented Mar 2, 2026

OK, so the build here is basically finished now; the matrix is getting pretty hard to build out, so if moving to the stable ABI is feasible, we should try that (independently of this PR, which can be merged as-is).

I'm actually already exploring this. Upstream does not use Python's stable ABI3 (is that what you are referring to?). I'll give it a spin, but would be surprised if it Just Works. Another option I'm looking into is building the dynamic library first, and then building only the Python bindings with dynamic linking in follow-up steps.

As another comment: it's good to keep a clean commit history, but 289015f does too much, especially for its very unassuming commit message. In general, please keep changes in /recipe and .ci_support/migrations separate from any rerender commits.

Will keep that in mind. Thanks!

@cbourjau cbourjau merged commit 3c0038c into conda-forge:main Mar 2, 2026
253 of 372 checks passed
@cbourjau cbourjau mentioned this pull request Mar 2, 2026
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the 1.24.1_hf1792a branch March 2, 2026 11:28
@cbourjau
Copy link
Copy Markdown
Contributor

cbourjau commented Mar 2, 2026

Update on the stable API: onnxruntime uses pybind11 and pybind11 does not support ABI3: pybind/pybind11#5905 (comment)

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.

7 participants