经 AI Skill Hub 精选评估,开源AI工具:Benchmark和部署优化的LLM模型 获评「推荐使用」。这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.5 分,适合有一定技术背景的用户使用。
Benchmark和部署优化的LLM模型,支持GPU服务器和vLLM或SGLang。
开源AI工具:Benchmark和部署优化的LLM模型 是一款基于 Python 开发的开源工具,专注于 installable、python 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
Benchmark和部署优化的LLM模型,支持GPU服务器和vLLM或SGLang。
开源AI工具:Benchmark和部署优化的LLM模型 是一款基于 Python 开发的开源工具,专注于 installable、python 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:pip 安装(推荐)
pip install deplodock
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install deplodock
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/cloudrift-ai/deplodock
cd deplodock
pip install -e .
# 验证安装
python -c "import deplodock; print('安装成功')"
# 命令行使用
deplodock --help
# 基本用法
deplodock input_file -o output_file
# Python 代码中调用
import deplodock
# 示例
result = deplodock.process("input")
print(result)
# deplodock 配置文件示例(config.yml) app: name: "deplodock" debug: false log_level: "INFO" # 运行时指定配置文件 deplodock --config config.yml # 或通过环境变量配置 export DEPLODOCK_API_KEY="your-key" export DEPLODOCK_OUTPUT_DIR="./output"
<p align="center"> <img src="logo.png" alt="DeploDock" width="300"> </p>
<p align="center"> <a href="https://pypi.org/project/deplodock/"><img src="https://img.shields.io/pypi/v/deplodock" alt="PyPI"></a> <a href="https://github.com/cloudrift-ai/deplodock/actions/workflows/tests.yml"><img src="https://github.com/cloudrift-ai/deplodock/actions/workflows/tests.yml/badge.svg" alt="Tests"></a> <a href="https://discord.gg/cloudrift"><img src="https://img.shields.io/discord/1150997934113030174?label=Discord" alt="Discord"></a> </p>
Compile → Benchmark → Deploy any LLM on any GPU. vLLM, SGLang, or create your own specialized deployment using a hackable compiler.
git clone https://github.com/cloudrift-ai/deplodock.git
cd deplodock && make setup
A hackable PyTorch → Graph IR → CUDA compiler. Trace any nn.Module, fuse it into one kernel, run it, and inspect the emitted CUDA. See the blog post: A Principled ML Compiler Stack in 5,000 Lines of Python.
```bash
deplodock compile -c "nn.RMSNorm(2048)(torch.randn(1,32,2048))"
deplodock compile Qwen/Qwen2.5-7B
Layer-norm-style reduction (two reductions, broadcast subtract, elementwise chain) fused into two kernels:
bash deplodock compile -c " class LN(torch.nn.Module): def forward(self, x): m = x.mean(-1, keepdim=True) v = ((x - m) ** 2).mean(-1, keepdim=True) return (x - m) torch.rsqrt(v + 1e-6) LN()(torch.randn(64, 2048))"
Principled compilation stack with six IR stages, each printable on demand via `--ir <stage>`:
1. **Torch IR** — captures the FX graph as a 1:1 mirror of PyTorch's op set (`rmsnorm`, `linear`, `softmax`, ...)
2. **Tensor IR** — decomposes every Torch op into three primitives: `Elementwise`, `Reduction`, and `IndexMap`
3. **Loop IR** — lifts each primitive to a `LoopOp` and fuses
4. **Tile IR** — schedules kernels onto GPU
5. **Kernel IR** — materializes the schedule into framework-agnostic hardware primitives
6. **CUDA** — optimized CUDA code ready for `nvcc`
**Readable Schedule**: `deplodock compile -c "nn.RMSNorm(2048)(torch.randn(1,32,2048))" --ir tile` kernel k_rms_norm_reduce inputs: rms_norm_mean_count, rms_norm_eps, x, p_weight outputs: rms_norm in0 = load rms_norm_mean_count[0] in1 = load rms_norm_eps[0] Tile(axes=(a0:256=THREAD, a1:32=BLOCK)): x_smem = Stage(x, origin=(0, a1, 0), slab=(a2:2048@2)) async p_weight_smem = Stage(p_weight, origin=(0), slab=(a3:2048@0)) async StridedLoop(a2 = a0; < 2048; += 256): # reduce in2 = load x_smem[a2] v0 = multiply(in2, in2) acc0 <- add(acc0, v0) v1 = divide(acc0, in0) v2 = add(v1, in1) v3 = rsqrt(v2) StridedLoop(a3 = a0; < 2048; += 256): # free in3 = load x_smem[a3] in4 = load p_weight_smem[a3] v4 = multiply(in3, v3) v5 = multiply(v4, in4) rms_norm[0, a1, a3] = v5
**Optimized CUDA kernel**: `deplodock compile -c "nn.RMSNorm(2048)(torch.randn(1,32,2048))" --ir cuda`
c extern "C" global __launch_bounds__(256) void k_rms_norm_reduce(const float x, const float* p_weight, float* rms_norm) { float in0 = 2048.0f; float in1 = 1e-06f; { int a1 = blockIdx.x; int a0 = threadIdx.x; float acc0 = 0.0f; syncthreads(); shared__ float x_smem[2048]; for (int x_smem_flat = a0; x_smem_flat < 2048; x_smem_flat += 256) { { unsigned int _smem_addr = __cvta_generic_to_shared(&x_smem[x_smem_flat]); asm volatile("cp.async.ca.shared.global [%0], [%1], 4;\n" :: "r"(_smem_addr), "l"(&x[a1 2048 + x_smem_flat]) : "memory"); } } asm volatile("cp.async.commit_group;\n" ::: "memory"); asm volatile("cp.async.wait_group 0;\n" ::: "memory"); syncthreads(); shared__ float p_weight_smem[2048]; for (int p_weight_smem_flat = a0; p_weight_smem_flat < 2048; p_weight_smem_flat += 256) { { unsigned int _smem_addr = __cvta_generic_to_shared(&p_weight_smem[p_weight_smem_flat]); asm volatile("cp.async.ca.shared.global [%0], [%1], 4;\n" :: "r"(_smem_addr), "l"(&p_weight[p_weight_smem_flat]) : "memory"); } } asm volatile("cp.async.commit_group;\n" ::: "memory"); asm volatile("cp.async.wait_group 0;\n" ::: "memory"); __syncthreads(); for (int a2 = a0; a2 < 2048; a2 += 256) { float in2 = x_smem[a2]; float v0 = in2 in2; acc0 += v0; } shared float acc0_smem[256]; acc0_smem[a0] = acc0; __syncthreads(); for (int s = 128; s > 0; s >>= 1) { if (a0 < s) { acc0_smem[a0] = acc0_smem[a0] + acc0_smem[a0 + s]; } syncthreads(); } syncthreads(); float acc0_b = acc0_smem[0]; float v1 = acc0_b / in0; float v2 = v1 + in1; float v3 = rsqrtf(v2); for (int a3 = a0; a3 < 2048; a3 += 256) { float in3 = x_smem[a3]; float in4 = p_weight_smem[a3]; float v4 = in3 v3; float v5 = v4 in4; rms_norm[a1 * 2048 + a3] = v5; } } } ```
```bash
deplodock deploy local --recipe recipes/Qwen3-Coder-30B-A3B-Instruct-AWQ
matrices: cross: deploy.gpu_count: 1 deploy.gpu: - "NVIDIA GeForce RTX 5090" - "NVIDIA H100 80GB" - "NVIDIA H200 141GB" zip: engine.llm.max_concurrent_requests: [128, 512] benchmark.max_concurrency: [128, 512]
Generic workload (run any tool on the VM, pull back result files):
yaml command: stage: ["scripts"] run: | nvidia-smi --query-gpu=name,memory.used --format=csv > $task_dir/result.csv result_files: ["result.csv"] timeout: 60
matrices: deploy.gpu: "NVIDIA GeForce RTX 5090" deploy.gpu_count: 1 ```
deplodock是一个开源AI工具,用于Benchmark和部署优化的LLM模型。它支持GPU服务器和vLLM或SGLang,但缺乏明显的使用场景和安装说明。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
AI Skill Hub 点评:开源AI工具:Benchmark和部署优化的LLM模型 的核心功能完整,质量良好。对于AI 技术爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | deplodock |
| Topics | installablepython |
| GitHub | https://github.com/cloudrift-ai/deplodock |
| License | Apache-2.0 |
| 语言 | Python |
收录时间:2026-05-25 · 更新时间:2026-05-25 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。