Repository navigation
v1.2.0
Highlights
- MORI-UMBP (new): Unified Memory/Bandwidth Pool — tiered memory/SSD storage with distributed key-value access for scalable memory management;
IUMBPClientinterface for a dual-scheme architecture (#257). Now built by default (BUILD_UMBP=ON); the SPDK/SSD tier is opt-in viaBUILD_UMBP_SPDK=ON. - MORI-CCL (new): SDMA-based collective communication framework — AllGather, All2All, AllReduce with sync/async paths, pybind + Python wrappers, examples & benchmarks (#235); plus C++
AllGatherIntoTensorover SDMA (#303). - MORI-IO: single-transfer chunking with adaptive multi-NIC striping (#351); new sync transfer wait API (#341).
- MORI-EP: FP8 blockwise quantization for IntraNode combine (#311, #315); small-token dispatch perf optimization (#333).
- MORI-SHMEM: single-process multi-thread (SPMT) support via
MORI_MULTITHREAD_SUPPORT, currently for JAX/XLA (#308). - Ionic/CCQE: runtime CCQE capability detection — one binary supports both CCQE and non-CCQE deployments (#307).
- Packaging: pre-built wheels on PyPI (
amd-mori) and nightly builds (amd-mori-nightly); dynamic versioning via setuptools_scm;moriCLI for env helpers (#289, #297).
Features
- feat(umbp): enable UMBP by default; add
BUILD_UMBP_SPDKopt-in for the SPDK tier (#372) - feat(ccl): SDMA collective framework + AllGather/All2All/AllReduce (#235)
- feat(ccl): C++ AllGatherIntoTensor over SDMA (#303)
- feat(io): single-transfer chunking + adaptive multi-NIC striping (#351)
- feat(io): add sync transfer wait API (#341)
- feat(EP): FP8 blockwise quantization for IntraNode combine (#311)
- feat(EP): decouple fp8_blockwise combine scale_dim from user config (#315)
- feat(shmem): MORI_MULTITHREAD_SUPPORT for SPMT (JAX/XLA) (#308)
- feat(cli):
moriconsole entry point for env helper scripts (#297) - feat(jit): enable hip kernel debug info (#318)
Performance
- perf(ep): optimize dispatch intranode kernel for small-token cases (#333)
Bug Fixes
- fix(ep): guard dispatch kernels against out-of-range expert id — fixes HSA page fault on wide-ep=16 (#363)
- fix(ep): mlx5 collapsed CQ + dedicated dispatch send buffer — fixes internode-v1 silent corruption (#366)
- fix(ep): safe D2H read in pybind getters & tune test block_num (#314)
- fix(io): make io worker cpu pinning opt-in via MORI_CORE_OFFSET (#364)
- fix(io): bind worker threads within allowed cpuset (#358)
- fix(io): XGMI fallback (#316)
- fix(mlx5): program RoCE QoS (MORI_RDMA_TC/SL) + selectable UDP sport on DEVX QPs (#362)
- fix(rdma): bnxt PollCq/QP bugs + ibverbs MORI_IB_PATH_MTU override (#298)
- fix(memory): skip RDMA MR registration when no RDMA peers exist (#344)
- fix(shmem): missing include in anvil.cpp + SIOF singleton fix (#339)
- fix(ccl): fail fast when MORI_ENABLE_SDMA is not enabled (#302)
- fix: compiled spdlog with hidden visibility to prevent symbol collision (#332)
- fix: XLA build, shmem_api includes separation (#295)
- fix(env): reorder DSCP mapping before scheduling in env_setup.sh (#320)
- fix(env): cache MORI_ENABLE_SDMA / MORI_DISABLE_P2P at Context construction (#317)
- fix(env): env_check.sh/env_setup.sh errors in docker env (#301)
- fix(ep): warn when AsyncLL runs without SDMA
Refactor
- refactor(jit): detect CCQE support at runtime instead of compile time (#307)
- refactor(jit): silence Ionic CCQE probe logs and clean up caching (#347)
- refactor(ccl): migrate collective kernels from AOT to JIT compilation (#319)
- refactor: decouple device compilation and public headers from host-only deps (#296)
- refactor: update FlyDSL extern integration (#299)
CI / Build
- ci: add nightly wheel build workflow + PyPI publish (#289, #327)
- ci: preserve nightly/ dir when deploying docs to gh-pages (#324)
- ci: add UMBP python tests + intranode/internode coverage to nightly
- chore(ci): use next patch version for nightly dev builds (#334)
- ci: bump ROCm base images from 7.2.1 to 7.2.4 (#361)
- ci: stabilize umbp_client_metrics test (port collision) (#368)
Docs
- docs: PyPI / nightly install instructions + conflict warning (#325, #329)
- docs: list libibverbs packages in README prerequisites (#349)
- docs: add recent mori news — RTP-LLM / DeepSpeed / OpenUCL / Triton-dist (#331)
Install
pip install amd-mori==1.2.0 # stable
pip install --pre amd-mori-nightly # nightlyFull changelog: v1.1.1...v1.2.0