Repository navigation
Highlights
- 78 Elementwise Math & Bitwise Data Ops: Added C++ kernels and Python bindings (
data.ops.mathanddata.ops.bitwise) for 78 elementwise math, bitwise, special-function, Bessel, floating-point predicate, andmatmultransforms with broadcasting (#610, #611, #612, #634). - Priority-Aware Batch Scheduling: Added priority-aware request queuing (
PriorityAwareQueue,SchedulerConfig, andQueueSelectionPolicy) to the serving runtime's batch scheduler (#599, #602, #615, #619). - Zero-Copy & Pre-Allocated Buffers: Added support for TPU premapped buffers, pinned host buffers, partial/mixed pre-allocated outputs, input buffer aliasing, and zero-copy
tensorflow::Tensorhost conversion (#594, #628, #639, #655, #662, #686). - CLI History & Rollback: Added
xsm-cli historyandxsm-cli rollbackfor inspecting and reverting model configuration updates, plus fullBatchOptionssupport inxsm-cli update(#597, #660).
What's Changed
Serving Runtime & Performance
- Priority-aware batching: Integrate
PriorityAwareQueue,SchedulerScope,QueueSelectionPolicy, andSchedulerConfigintoSharedBatchSchedulerandBatchRunnerOp(#599, #602, #615, #619). - Pre-allocated & zero-copy buffers:
- Support TPU premapped buffers in the serving runtime (#639).
- Support pinned host buffers and partial/mixed pre-allocated outputs with load-time output name resolution (#628, #655, #662).
- Honor exported input buffer aliasing in the AOT serving runtime (#594).
- Add zero-copy
tensorflow::TensortoHostBufferconversion via a type-keyed converter registry (#686).
- Model warmup improvements: Bypass the batch queue for warmup requests and record model warmup latency metrics (#673, #699, #701).
- Runtime overhead reductions: Cache transform factory lookups in
TransformBase(#605), executeRunWithMapReturnOnWorkeras a single worker-pool task (#683), and drop unused MLIR dialects fromStableHloLoader(#663). - Self-contained TPU serving image: Bundle
libtpu.sodirectly into the TPU serving container (#640). - TensorFlow SavedModel interop: Add bundle detection and
HostBufferconversion inTfSavedModelFunctionRunnerOp(#547, #629).
Data Processing (xla_serving_data)
- Math & bitwise transforms: Add 78 elementwise math, bitwise, special-function, Bessel, predicate, and
matmulC++ transforms and Python bindings (#610, #611, #612). - Dynamic shapes: Add
PartialShapeto represent shapes with unknown dimensions indata/processorandHostBufferSpec(#681, #688). - CPU embeddings: Unify CPU embedding method signatures with structured input configs (#595, #633).
- Transform registry: Simplify transform deserializer registration with
SetDeserializerWithDetailand fall back tostd::type_info::name()matching across shared libraries (#635, #649, #664, #665).
CLI (xsm-cli)
- Configuration history & rollback: Add
xsm-cli historyandxsm-cli rollbackcommands to inspect and revert model configuration updates (#597). - Batching configuration: Support full
BatchOptionsflags inxsm-cli update(#660). - Model inspection: Improve
xsm-cli showandxsm-cli show --detailsoutput forCompositeProcessorfunctions (#607).
Examples & Benchmarks
- DLRM benchmark: Add reproducible DLRM serving benchmark and Cloud TPU v6e results (#606).
- Gemma 3 example: Add Gemma 3 (
keras_hub) export example and prediction client by @gaurides (#601). - Math preprocessor example: Add
examples/math_preprocessordemonstratingdata.ops.mathanddata.ops.bitwise(#634).
New Contributors
Full Changelog: v0.0.12...v0.0.13