Skip to content

v1.2.0

Choose a tag to compare

@jhchouuu jhchouuu released this 08 Jun 13:25
· 315 commits to main since this release
bf99bdf

Highlights

  • MORI-UMBP (new): Unified Memory/Bandwidth Pool — tiered memory/SSD storage with distributed key-value access for scalable memory management; IUMBPClient interface for a dual-scheme architecture (#257). Now built by default (BUILD_UMBP=ON); the SPDK/SSD tier is opt-in via BUILD_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++ AllGatherIntoTensor over 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; mori CLI for env helpers (#289, #297).

Features

  • feat(umbp): enable UMBP by default; add BUILD_UMBP_SPDK opt-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): mori console 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 # nightly

Full changelog: v1.1.1...v1.2.0