Skip to content

Upgrade Rust model integration to botorch-rust 0.3.0 - #26

Merged
M-Colley merged 4 commits into
mainfrom
codex/use-botorch-rust-030-main
Oct 22, 2026
Merged

M-Colley merged 4 commits into
mainfrom
codex/use-botorch-rust-030-main

Conversation

@M-Colley

Copy link
Copy Markdown
Collaborator

Upgrade the Rust model option from botorch-rust==0.2.0 to the published 0.3.0 release, and use the port throughout the vendored dynamic BO backend. This is based on current main (v1.9.0) and preserves all 17 upstream commits after the previous local checkout.

The existing BoTorch / BotorchRust / Auto selector and its default remain unchanged. BO, MOBO, contextual models and meta training retain the shared model-library selection, provided-embedding model, Torch Sobol initial design and run provenance. Official BoTorch stays installed for its selector option and external openbo.

DBO now uses botorch_rs models, marginal likelihoods, acquisitions, samplers and optimizers while retaining the actual GPyTorch kernels, temporal-decay modules and likelihoods. The Tensor backend preserves their parameters and gradients. DBO records the active botorch-rust version and shares the existing initial-design helper.

Requirements, CI checks, setup comments and backend documentation reference 0.3.0. Added real-stack regressions cover DBO fitting/posteriors, temporal-kernel gradients, dynamic MOBO, and contextual meta-training artifact replay through external openbo. Fixtures remain isolated with real openbo installed, and the line-ending regression constructs LF bytes explicitly before testing CRLF conversion. No C# behavior, enum values or serialized settings change.

Validation used a fresh pip target installed from the official PyPI Windows wheel, independently matched byte-for-byte to the GitHub release asset and successful release workflow at cd2b490:

  • 470 consumer tests: 469 passed, 1 skipped (POSIX permissions on Windows); all 218 subtests passed. Exact case IDs and package/source fingerprints were checked before and after the run with pinned Torch 2.14.1 CPU.
  • Supplemental Torch 2.13.0 CUDA run: 5 DBO integration tests passed, including actual CPU/CUDA temporal-kernel checks. A separate CUDA float64 mixed query/decay Hessian-vector product matched central differences (maximum absolute error 1.1e-11). These reruns do not increase the 470-case count.
  • Real DBO TCP protocol: 14 evaluations (4 initial + 10 optimized), split messages, coverage/log files, and a separate clean stop after 6 evaluations.
  • Standalone bridge: 25 passed, 1 skipped (Windows symlink creation unavailable).
  • All 358 non-native package members match the tested candidate bytes. The 357 Python/stub texts also match tagged Git after only CRLF-to-LF normalization; py.typed is exact. The CI-built native extension reports 0.3.0, with all 306 recorded native source inputs matching the native-quality attestation. Archive hashes, installed RECORD and pip origin were verified.

Published wheel SHA-256: 013a3681ff868b6558c3494badbbd99b917be183001e5e0d589374488d9bebcf. Published native SHA-256: e974db4b94b83b7a578fd127d5f79de1b5a3e3ba42931d5dcdf8753ee035c6e9.

Historical performance results remain labeled 0.2.0; this change makes no new speed claim.

@M-Colley
M-Colley merged commit cfbe148 into main Oct 22, 2026
5 checks passed
@Pascal-Jansen
Pascal-Jansen deleted the codex/use-botorch-rust-030-main branch October 29, 2026 10:00
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