Skip to content

[WIP] Upgrade to Python 3.12 and ONNX 1.21.0#1603

Draft
auphelia wants to merge 3 commits into
devfrom
upgrade/python_version
Draft

[WIP] Upgrade to Python 3.12 and ONNX 1.21.0#1603
auphelia wants to merge 3 commits into
devfrom
upgrade/python_version

Conversation

@auphelia

Copy link
Copy Markdown
Collaborator

WIP: currently in testing and some outstanding issues identified:

  • XRT 2024.2 for Ubuntu 24.04 - Need to verify availability and download location
  • Which Vivado version are now compatible
  • ONNXRuntime MaxPool bug - onnxruntime 1.26 has a regression where MaxPool with ceil_mode=1 and padding produces incorrect output shapes (see test_maxpool_nhwc.py failure). Shape inference computes correct output but execution kernel produces wrong dimensions.

Summary

Upgrades FINN to Python 3.12 and ONNX 1.21.0 to address a critical security vulnerability (CVE: ExternalDataInfo attribute injection) while maintaining compatibility across all dependencies.

Motivation

  • Security: Dependabot alert recommending ONNX upgrade from 1.17.0 → 1.21.0
  • Compatibility: QONNX constrains ONNX ≤1.17 for Python <3.11, requiring Python upgrade to unlock newer ONNX versions
  • Ecosystem: Python 3.12 (Oct 2023) provides mature package support and long-term stability

Key Changes

  • Python 3.10 → 3.12
  • Ubuntu 22.04 → 24.04 (noble)
  • Implemented PEP 668 compliance (--break-system-packages for Docker) and fixed typing_extensions conflict in Docker build
  • onnx: 1.17.0 → 1.21.0
  • onnxruntime: 1.18.1 → 1.24.0
  • Updated 15+ packages for Python 3.12 compatibility
  • Updated ReadTheDocs and GHAs to ubuntu-24.04
  • Removed deprecated mapping import from onnx module (ONNX 1.21.0 compatibility)

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