[KMCompiler][Ascend][MThreads] Add backend-specific dequantize_and_gather_k_cache (#873)
[中文版|English]
FlagGems-vllm 是 FlagOS 的一部分。 FlagGems-vllm是一个面向多种芯片后端的高性能算子库,它提供了常见vllm算子的高性能实现,支持多种常见模型的高性能推理及部署。
FlagGems-vllm 是一个使用 OpenAI 推出的Triton 编程语言实现的高性能深度学习算子库,
pip install -U 'scikit-build-core>=0.11' pybind11 ninja cmake
安装 FlagGems-vllm 前,请先安装与目标加速器兼容的 PyTorch。与 FlagGems 一致,PyTorch 由后端环境管理,FlagGems-vllm 软件包不会重复安装 PyTorch。
git clone https://github.com/flagos-ai/FlagGems-vllm.git cd FlagGems-vllm pip install .
import torch import flaggems_vllm # 构造 MoE 路由所需的 topk_ids num_tokens = 128 topk = 2 num_experts = 16 block_size = 32 topk_ids = torch.randint( low=0, high=num_experts, size=(num_tokens, topk), device='cuda', dtype=torch.int32, ) # 按 expert 和 block_size 对 token 做对齐 sorted_ids, expert_ids, num_tokens_post_pad = flaggems_vllm.ops.moe_align_block_size( topk_ids=topk_ids, block_size=block_size, num_experts=num_experts, ) print(sorted_ids.shape, expert_ids.shape, num_tokens_post_pad)
下面命令已在当前仓库验证通过,可用于安装后的快速检查。
cd /workspace/FlagGems-vllm pytest -q tests --collect-only pytest -q tests/test_moe_align_block_size.py --quick
cd /workspace/FlagGems-vllm pytest -q benchmark --collect-only pytest -q benchmark/test_moe_align_block_size_triton.py::test_moe_align_block_size_triton --level core --iter 1 --warmup 1
--collect-only
本项目采用 Apache (Version 2.0) License 授权许可。
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
[中文版|English]
介绍
FlagGems-vllm 是 FlagOS 的一部分。 FlagGems-vllm是一个面向多种芯片后端的高性能算子库,它提供了常见vllm算子的高性能实现,支持多种常见模型的高性能推理及部署。
FlagGems-vllm 是一个使用 OpenAI 推出的Triton 编程语言实现的高性能深度学习算子库,
特性
快速安装
安装依赖
安装 FlagGems-vllm 前,请先安装与目标加速器兼容的 PyTorch。与 FlagGems 一致,PyTorch 由后端环境管理,FlagGems-vllm 软件包不会重复安装 PyTorch。
安装FlagGems-vllm
使用示例
Tests 与 Benchmark 快速使用
下面命令已在当前仓库验证通过,可用于安装后的快速检查。
运行 tests
运行 benchmark
说明
--collect-only,快速确认导入与用例发现是否正常。本项目采用 Apache (Version 2.0) License 授权许可。