<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="https://blog.kali-team.cn/feed_style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <tabi:metadata xmlns:tabi="https://github.com/welpo/tabi">
        <tabi:base_url>https:&#x2F;&#x2F;blog.kali-team.cn</tabi:base_url>
        <tabi:separator>
            •
        </tabi:separator>
        <tabi:about_feeds>这是Web Feed，又称为Atom Feed，把现在的网址复制到新闻阅读器即可订阅本站文章。造访「About Feeds」来了解更多资讯。</tabi:about_feeds>
        <tabi:visit_the_site>造访网站</tabi:visit_the_site>
        <tabi:recent_posts>近期文章</tabi:recent_posts>
        <tabi:last_updated_on>更新于 $DATE</tabi:last_updated_on>
        <tabi:default_theme></tabi:default_theme>
        <tabi:post_listing_date>date</tabi:post_listing_date>
        <tabi:current_section>vllm</tabi:current_section>
    </tabi:metadata><link rel="extra-stylesheet" href="https://blog.kali-team.cn/skins/arch.css?h=8b651815fde702215b07" /><title>Kali-Team - vllm</title>
        <subtitle>三米前有蕉皮的博客</subtitle>
    <link href="https://blog.kali-team.cn/categories/vllm/atom.xml" rel="self" type="application/atom+xml"/>
    <link href="https://blog.kali-team.cn/categories/vllm/" rel="alternate" type="text/html"/>
    <generator uri="https://www.getzola.org/">Zola</generator><updated>2026-08-05T00:00:00+00:00</updated><id>https://blog.kali-team.cn/categories/vllm/atom.xml</id><entry xml:lang="en">
        <title>双机 Atlas 800T A2 部署大模型</title>
        <published>2026-08-05T00:00:00+00:00</published>
        <updated>2026-08-05T00:00:00+00:00</updated>
        <author>
            <name>三米前有蕉皮</name>
        </author>
        <link rel="alternate" href="https://blog.kali-team.cn/blog/2026/09/双机 Atlas 800T A2 部署大模型/" type="text/html"/>
        <id>https://blog.kali-team.cn/blog/2026/09/双机 Atlas 800T A2 部署大模型/</id>
        
            <content type="html">&lt;blockquote&gt;
&lt;p&gt;从环境初始化到 Ray 分布式多节点部署 DeepSeek V4 Flash 的完整记录&lt;br &#x2F;&gt;
华为 Ascend 910B2 · vLLM + Ray · 2026-08&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h2 id=&quot;qian-yan-ying-jian-pei-zhi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#qian-yan-ying-jian-pei-zhi&quot; aria-label=&quot;Anchor link for: qian-yan-ying-jian-pei-zhi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
前言：硬件配置&lt;&#x2F;h2&gt;
&lt;p&gt;公司提供了两台华为 &lt;strong&gt;Atlas 800T A2&lt;&#x2F;strong&gt; 训练服务器作为生产环境，本文完整记录了从裸机环境检查、CANN 驱动安装、vLLM 部署到 Ray 分布式多节点推理的整个过程。目标模型为 &lt;strong&gt;DeepSeek V4 Flash&lt;&#x2F;strong&gt;（W8A8 量化版），采用张量并行（TP）+ 流水线并行（PP）+ 数据并行（DP）的多维并行策略，最终在双机 16 卡 NPU 上实现稳定推理服务。&lt;&#x2F;p&gt;
&lt;p&gt;两台服务器的硬件配置完全一致，规格如下：&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;配置项&lt;&#x2F;th&gt;&lt;th&gt;规格&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;实例类型&lt;&#x2F;td&gt;&lt;td&gt;physical.lcas910b.2xlarge11&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;CPU&lt;&#x2F;td&gt;&lt;td&gt;4 路 × 48 核 × 48 线程（共 192 核，192 线程）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;内存&lt;&#x2F;td&gt;&lt;td&gt;1536 GB&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;GPU&lt;&#x2F;td&gt;&lt;td&gt;8 × Huawei Ascend 910B2&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;本地系统盘&lt;&#x2F;td&gt;&lt;td&gt;2 × 480 GB（SSD）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;本地数据盘&lt;&#x2F;td&gt;&lt;td&gt;2 × 3200 GB（NVMe SSD）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;硬件要点&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Ascend 910B2&lt;&#x2F;strong&gt; 是华为面向 AI 训练和推理的高性能 NPU，单卡算力约 310 TFLOS（FP16）。双机共 16 张卡，每台机器 8 张卡通过 &lt;strong&gt;HCCL&lt;&#x2F;strong&gt;（Huawei Collective Communication Library）进行卡间高速集合通信，机器间通过 RoCE 网络互联。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NVMe 数据盘&lt;&#x2F;strong&gt; 提供大容量本地存储（6.4TB&#x2F;台），用于存放模型权重文件，避免网络存储的 I&#x2F;O 瓶颈。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;dan-ji-huan-jing-jian-cha&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#dan-ji-huan-jing-jian-cha&quot; aria-label=&quot;Anchor link for: dan-ji-huan-jing-jian-cha&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
单机环境检查&lt;&#x2F;h2&gt;
&lt;p&gt;在开始任何安装之前，首先确认操作系统的版本、内核架构以及 NPU 驱动是否已正确识别。所有操作均在 &lt;code&gt;root&lt;&#x2F;code&gt; 用户下执行（hostname 为 &lt;code&gt;ctyun-gpu-atlas-01&lt;&#x2F;code&gt;）。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;cao-zuo-xi-tong-yu-nei-he&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#cao-zuo-xi-tong-yu-nei-he&quot; aria-label=&quot;Anchor link for: cao-zuo-xi-tong-yu-nei-he&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
操作系统与内核&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# cat &#x2F;etc&#x2F;os-release&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;NAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;CTyunOS&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;VERSION&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;22.06&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;ID&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;ctyunos&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;VERSION_ID&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;22.06&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;PRETTY_NAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;CTyunOS 22.06&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;ANSI_COLOR&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;0;31&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# uname -a&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Linux&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ctyun-gpu-atlas-01 4.19.90-2102.2.0.0068.3.ctl2.aarch64&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt; #1 SMP Thu Jun 13 00:10:29 UTC 2024 aarch64 aarch64 aarch64 GNU&#x2F;Linux&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# npu-smi -v&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;npu-smi&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; version:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 25.2.0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# lspci -n -D &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; grep&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt; -o &amp;#39;19e5:d[0-9a-f]\{3\}&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; |&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; head&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -n1&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; |&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; cut&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -d: -f2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;d802&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;命令参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;命令&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;cat &#x2F;etc&#x2F;os-release&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;查看操作系统发行版信息。CTyunOS 是天翼云基于 openEuler 定制的服务器操作系统&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;uname -a&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;显示内核版本和 CPU 架构。&lt;code&gt;aarch64&lt;&#x2F;code&gt; 表明是 ARM64 架构（鲲鹏处理器）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;npu-smi -v&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;查看 NPU 系统管理接口版本，类似 NVIDIA 的 &lt;code&gt;nvidia-smi&lt;&#x2F;code&gt;。版本 25.2.0 表示驱动已预装&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;lspci -n -D | grep -o &#x27;19e5:d...&#x27;&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;通过 PCI 设备 ID 识别 NPU 型号。&lt;code&gt;19e5&lt;&#x2F;code&gt; 是华为的 PCI Vendor ID，&lt;code&gt;d802&lt;&#x2F;code&gt; 对应 Ascend 910B 系列&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;从输出可以看到：&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;操作系统&lt;&#x2F;strong&gt;：CTyunOS 22.06（基于 openEuler，aarch64 架构）&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;内核&lt;&#x2F;strong&gt;：4.19.90，编译于 2024-06-13&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;NPU 驱动&lt;&#x2F;strong&gt;：npu-smi 25.2.0 已预装&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;设备 ID&lt;&#x2F;strong&gt;：&lt;code&gt;d802&lt;&#x2F;code&gt; 对应 Ascend 910B2&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.kali-team.cn&#x2F;blog&#x2F;2026&#x2F;09&#x2F;%E5%8F%8C%E6%9C%BA%20Atlas%20800T%20A2%20%E9%83%A8%E7%BD%B2%E5%A4%A7%E6%A8%A1%E5%9E%8B&#x2F;cann_download_page.png&quot; alt=&quot;图 1：CANN 安装下载页面（选择 A2 系列、AArch64、CTyunOS、离线安装）&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;chu-shi-hua-huan-jing-cann-xia-zai-yu-python-zhun-bei&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#chu-shi-hua-huan-jing-cann-xia-zai-yu-python-zhun-bei&quot; aria-label=&quot;Anchor link for: chu-shi-hua-huan-jing-cann-xia-zai-yu-python-zhun-bei&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
初始化环境：CANN 下载与 Python 准备&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;an-zhuang-ji-chu-gong-ju&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#an-zhuang-ji-chu-gong-ju&quot; aria-label=&quot;Anchor link for: an-zhuang-ji-chu-gong-ju&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
安装基础工具&lt;&#x2F;h3&gt;
&lt;p&gt;首先安装必要的系统工具和编译环境：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; yum install -y tmux git patch&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; yum install -y gcc python3 python3-pip&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;an-zhuang-pyenv-guan-li-python-ban-ben&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#an-zhuang-pyenv-guan-li-python-ban-ben&quot; aria-label=&quot;Anchor link for: an-zhuang-pyenv-guan-li-python-ban-ben&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
安装 pyenv 管理 Python 版本&lt;&#x2F;h3&gt;
&lt;p&gt;CTyunOS 自带的 Python 版本过低，而 vLLM 要求 Python ≥ 3.10 且 &amp;lt; 3.13。因此使用 &lt;code&gt;pyenv&lt;&#x2F;code&gt; 安装独立版本的 Python。&lt;&#x2F;p&gt;
&lt;p&gt;首先配置 pip 清华镜像源以加速下载：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;pip3&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; config set global.index-url https:&#x2F;&#x2F;mirrors.tuna.tsinghua.edu.cn&#x2F;pypi&#x2F;web&#x2F;simple&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;curl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -fsSL https:&#x2F;&#x2F;pyenv.run&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; |&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; bash&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;安装好 pyenv 后，将以下内容添加到 &lt;code&gt;~&#x2F;.bashrc&lt;&#x2F;code&gt; 并 &lt;code&gt;source ~&#x2F;.bashrc&lt;&#x2F;code&gt; 重载环境变量：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; PYENV_ROOT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-normal z-shell&quot;&gt;$HOME&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;&#x2F;.pyenv&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[[&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; -d&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $PYENV_ROOT&#x2F;bin &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]] &amp;amp;&amp;amp;&lt;&#x2F;span&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt; export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; PATH&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-normal z-shell&quot;&gt;$PYENV_ROOT&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;&#x2F;bin:&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-normal z-shell&quot;&gt;$PATH&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;eval&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;$(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;pyenv&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; init - bash&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;eval&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;$(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;pyenv&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; virtualenv-init -&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;行&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;PYENV_ROOT&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;指定 pyenv 的安装根目录，默认为 &lt;code&gt;~&#x2F;.pyenv&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;PATH=...pyenv&#x2F;bin:$PATH&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;将 pyenv 的可执行文件加入 PATH，使其可以在任意位置调用&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;pyenv init - bash&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;初始化 pyenv 的 shims 机制，使 &lt;code&gt;python&lt;&#x2F;code&gt; 命令自动指向 pyenv 管理的版本&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;pyenv virtualenv-init -&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;启用 pyenv-virtualenv 插件，进入项目目录时自动激活虚拟环境&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;an-zhuang-python-3-10-4&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#an-zhuang-python-3-10-4&quot; aria-label=&quot;Anchor link for: an-zhuang-python-3-10-4&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
安装 Python 3.10.4&lt;&#x2F;h3&gt;
&lt;p&gt;根据 vLLM 官方文档建议（Python &amp;gt;= 3.10, &amp;lt; 3.13），选择安装 Python 3.10.4。同时配置清华镜像加速源码下载：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; PYTHON_BUILD_MIRROR_URL&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;https:&#x2F;&#x2F;mirrors.tuna.tsinghua.edu.cn&#x2F;python&#x2F;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;pyenv&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; install&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 3.10.4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;pyenv&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; global&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 3.10.4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;环境变量 &#x2F; 命令&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;PYTHON_BUILD_MIRROR_URL&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;指定 pyenv 编译安装 Python 时下载源码的镜像地址，替代默认的 python.org&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;PYTHON_BUILD_MIRROR_URL_SKIP_CHECKSUM=1&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;跳过校验和验证（镜像源文件可能与官方校验值不一致）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;pyenv install 3.10.4&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;下载并编译安装 Python 3.10.4（包含解释器、标准库等）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;pyenv global 3.10.4&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;将 3.10.4 设为全局默认 Python 版本&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;xia-zai-an-zhuang-qu-dong-cann-toolkit-yu-910b-suan-zi-bao&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#xia-zai-an-zhuang-qu-dong-cann-toolkit-yu-910b-suan-zi-bao&quot; aria-label=&quot;Anchor link for: xia-zai-an-zhuang-qu-dong-cann-toolkit-yu-910b-suan-zi-bao&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
下载安装驱动：CANN Toolkit 与 910B 算子包&lt;&#x2F;h2&gt;
&lt;p&gt;CANN（Compute Architecture for Neural Networks）是华为昇腾 AI 处理器的计算架构，相当于 NVIDIA 的 CUDA 生态。部署 vLLM-Ascend 需要安装两个组件：&lt;strong&gt;CANN Toolkit&lt;&#x2F;strong&gt;（包含驱动 + 通用工具包）和 &lt;strong&gt;910B 专用算子包&lt;&#x2F;strong&gt;（包含 910B 芯片特有的高性能算子实现）。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xia-zai-bing-an-zhuang-cann-toolkit&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#xia-zai-bing-an-zhuang-cann-toolkit&quot; aria-label=&quot;Anchor link for: xia-zai-bing-an-zhuang-cann-toolkit&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
下载并安装 CANN Toolkit&lt;&#x2F;h3&gt;
&lt;p&gt;从华为 OBS 对象存储下载 CANN 9.0.1 离线安装包（约 1.8GB）：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# wget &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;https:&#x2F;&#x2F;ascend-cann-open.obs.cn-north-4.myhuaweicloud.com&#x2F;CANN&#x2F;CANN%209.0.1&#x2F;Ascend-cann_9.0.1_linux-aarch64.run&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;--2026-08-29&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 22:39:45--  https:&#x2F;&#x2F;ascend-cann-open.obs.cn-north-4.myhuaweicloud.com&#x2F;CANN&#x2F;CANN%209.0.1&#x2F;Ascend-cann_9.0.1_linux-aarch64.run&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Resolving&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ascend-cann-open.obs.cn-north-4.myhuaweicloud.com&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ascend-cann-open.obs.cn-north-4.myhuaweicloud.com)... 122.9.24.7, 122.9.24.4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Connecting&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; to ascend-cann-open.obs.cn-north-4.myhuaweicloud.com&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ascend-cann-open.obs.cn-north-4.myhuaweicloud.com)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;122.9.24.7&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;:443...&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; connected.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;HTTP&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; request sent, awaiting response...&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 200&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; OK&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Length:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1911207575&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (1.8G) &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;binary&#x2F;octet-stream&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Saving&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt; to: &amp;#39;Ascend-cann_9.0.1_linux-aarch64.run&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Ascend-cann_9.0.1_linux-aarch&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 100%[================================================&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;]   1.78G  6.33MB&#x2F;s    in 4m 46s&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;2026-08-29&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 22:44:31&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (6.38&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; MB&#x2F;s&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;) - &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;Ascend-cann_9.0.1_linux-aarch64.run&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; saved &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;1911207575&#x2F;1911207575&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;bash&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; .&#x2F;Ascend-cann_9.0.1_linux-aarch64.run --install&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;===========&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;= Summary =&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;===========&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Driver:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;  Installed in &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;CANN:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;    Ascend-cann_9.0.1_linux-aarch64 install success, installed in &#x2F;usr&#x2F;local&#x2F;Ascend.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Please&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; make sure that the environment variables have been configured.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;  To take effect for all users, you can add &amp;quot;source &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;cann&#x2F;set_env.sh&amp;quot; to &#x2F;etc&#x2F;profile.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;  To take effect for current user, you can exec command below: source &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;cann&#x2F;set_env.sh or add &amp;quot;source &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;cann&#x2F;set_env.sh&amp;quot; to ~&#x2F;.bashrc.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Toolkit 安装成功后，输出提示已安装到 &lt;code&gt;&#x2F;usr&#x2F;local&#x2F;Ascend&lt;&#x2F;code&gt;，并建议配置环境变量 &lt;code&gt;set_env.sh&lt;&#x2F;code&gt;。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xia-zai-bing-an-zhuang-910b-zhuan-yong-suan-zi-bao&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#xia-zai-bing-an-zhuang-910b-zhuan-yong-suan-zi-bao&quot; aria-label=&quot;Anchor link for: xia-zai-bing-an-zhuang-910b-zhuan-yong-suan-zi-bao&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
下载并安装 910B 专用算子包&lt;&#x2F;h3&gt;
&lt;p&gt;接下来下载 910B 专用算子包（约 2.1GB），它包含针对 Ascend 910B 芯片优化的高性能算子：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# wget &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;https:&#x2F;&#x2F;ascend-repo.obs.cn-east-2.myhuaweicloud.com&#x2F;CANN&#x2F;CANN%209.0.1&#x2F;Ascend-cann-910b-ops_9.0.1_linux-aarch64.run&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;--2026-08-29&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 23:03:59--  https:&#x2F;&#x2F;ascend-repo.obs.cn-east-2.myhuaweicloud.com&#x2F;CANN&#x2F;CANN%209.0.1&#x2F;Ascend-cann-910b-ops_9.0.1_linux-aarch64.run&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Resolving&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ascend-repo.obs.cn-east-2.myhuaweicloud.com&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ascend-repo.obs.cn-east-2.myhuaweicloud.com)... 122.9.88.11, 122.9.88.13, 122.9.88.10, ...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Connecting&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; to ascend-repo.obs.cn-east-2.myhuaweicloud.com&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ascend-repo.obs.cn-east-2.myhuaweicloud.com)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;122.9.88.11&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;:443...&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; connected.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;HTTP&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; request sent, awaiting response...&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 200&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; OK&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Length:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 2296115500&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (2.1G) &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;application&#x2F;octet-stream&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Saving&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt; to: &amp;#39;Ascend-cann-910b-ops_9.0.1_linux-aarch64.run&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Ascend-cann-910b-ops_9.0.1_li&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 100%[================================================&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;]   2.14G  6.35MB&#x2F;s    in 5m 44s&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;2026-08-29&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 23:09:43&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (6.37&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; MB&#x2F;s&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;) - &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;Ascend-cann-910b-ops_9.0.1_linux-aarch64.run&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; saved &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;2296115500&#x2F;2296115500&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# bash .&#x2F;Ascend-cann-910b-ops_9.0.1_linux-aarch64.run --install&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;===========&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;= Summary =&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;===========&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Driver:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;    Installed in &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ops_910b:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;  Ascend-cann-910b-ops_9.0.1_linux-aarch64 install success, installed in &#x2F;usr&#x2F;local&#x2F;Ascend.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Please&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; make sure that the environment variables have been configured.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;  To take effect for all users, you can add &amp;quot;source &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;cann&#x2F;set_env.sh&amp;quot; to &#x2F;etc&#x2F;profile.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;  To take effect for current user, you can exec command below: source &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;cann&#x2F;set_env.sh or add &amp;quot;source &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;cann&#x2F;set_env.sh&amp;quot; to ~&#x2F;.bashrc.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;yan-zheng-an-zhuang&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#yan-zheng-an-zhuang&quot; aria-label=&quot;Anchor link for: yan-zheng-an-zhuang&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
验证安装&lt;&#x2F;h3&gt;
&lt;p&gt;加载 CANN 环境变量后，通过 Python 调用 ACL（Ascend Computing Language）接口验证芯片型号是否正确识别：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# source &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;cann&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# python3 -c &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;import acl;print(acl.get_soc_name())&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Ascend910B2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;验证结果&lt;&#x2F;strong&gt;：&lt;code&gt;acl.get_soc_name()&lt;&#x2F;code&gt; 返回 &lt;strong&gt;Ascend910B2&lt;&#x2F;strong&gt;，说明 CANN Toolkit 和 910B 算子包均已正确安装，ACL 运行时能正确识别芯片型号。这是后续所有推理部署的前提条件。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;xi-tong-can-shu-diao-you&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#xi-tong-can-shu-diao-you&quot; aria-label=&quot;Anchor link for: xi-tong-can-shu-diao-you&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
系统参数调优&lt;&#x2F;h2&gt;
&lt;p&gt;大模型推理对网络和系统参数有较高要求。在正式部署前，需要对内核网络缓冲区、文件描述符限制、HCCL 端口等进行调优。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;wang-luo-huan-chong-qu-diao-you&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#wang-luo-huan-chong-qu-diao-you&quot; aria-label=&quot;Anchor link for: wang-luo-huan-chong-qu-diao-you&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
网络缓冲区调优&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# 设置系统参数&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt; bash -c &amp;#39;cat &amp;gt;&amp;gt; &#x2F;etc&#x2F;sysctl.conf &amp;lt;&amp;lt; EOF&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;net.core.rmem_max=26214400&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;net.core.wmem_max=26214400&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;net.ipv4.tcp_rmem=4096 87380 26214400&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;net.ipv4.tcp_wmem=4096 65536 26214400&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;EOF&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; sysctl -p&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# 设置用户限制&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sudo&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt; bash -c &amp;#39;cat &amp;gt;&amp;gt; &#x2F;etc&#x2F;security&#x2F;limits.conf &amp;lt;&amp;lt; EOF&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;* soft  nofile  1048576&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;* hard  nofile  1048576&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;* soft  memlock unlimited&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;* hard  memlock unlimited&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;EOF&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;net.core.rmem_max&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;26214400 (25MB)&lt;&#x2F;td&gt;&lt;td&gt;内核接收缓冲区最大值，默认通常只有 212992（208KB），调大以支持大规模数据传输&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;net.core.wmem_max&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;26214400 (25MB)&lt;&#x2F;td&gt;&lt;td&gt;内核发送缓冲区最大值，同理调大&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;net.ipv4.tcp_rmem&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;4096 87380 26214400&lt;&#x2F;td&gt;&lt;td&gt;TCP 接收缓冲区三个值：最小&#x2F;默认&#x2F;最大，确保大流量场景下缓冲区足够&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;net.ipv4.tcp_wmem&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;4096 65536 26214400&lt;&#x2F;td&gt;&lt;td&gt;TCP 发送缓冲区三个值：最小&#x2F;默认&#x2F;最大&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;nofile&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1048576 (1M)&lt;&#x2F;td&gt;&lt;td&gt;每个进程可打开的最大文件描述符数。大模型推理涉及大量模型文件和连接，需要放宽&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;memlock&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;unlimited&lt;&#x2F;td&gt;&lt;td&gt;允许进程锁定内存不限制，防止关键内存被 swap 换出导致性能下降&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;hccl-tong-xin-duan-kou-yu-liu&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#hccl-tong-xin-duan-kou-yu-liu&quot; aria-label=&quot;Anchor link for: hccl-tong-xin-duan-kou-yu-liu&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
HCCL 通信端口预留&lt;&#x2F;h3&gt;
&lt;p&gt;HCCL 默认使用操作系统的 60000-60015 端口进行卡间通信。需要将这些端口预留，避免被其他应用占用：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# HCCL默认使用服务器OS的60000-60015端口，请执行如下命令预留此范围的操作系统端口：&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;net.ipv4.ip_local_reserved_ports=60000-60015&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; &amp;gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;etc&#x2F;sysctl.conf&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sysctl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -p&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# 若需要使用其它端口，例如使用50000-50015端口，请执行如下命令预留此范围的操作系统端口：export HCCL_IF_BASE_PORT=50000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;echo&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;net.ipv4.ip_local_reserved_ports=50000-50015&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; &amp;gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;etc&#x2F;sysctl.conf&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sysctl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -p&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;端口冲突说明&lt;&#x2F;strong&gt;：&lt;code&gt;ip_local_reserved_ports&lt;&#x2F;code&gt; 让内核在自动分配临时端口时跳过这些范围，确保 HCCL 通信不被干扰。如需使用非默认端口范围，可通过环境变量 &lt;code&gt;HCCL_IF_BASE_PORT&lt;&#x2F;code&gt; 指定起始端口。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;docker-huan-jing-yu-vllm-ascend-jing-xiang&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#docker-huan-jing-yu-vllm-ascend-jing-xiang&quot; aria-label=&quot;Anchor link for: docker-huan-jing-yu-vllm-ascend-jing-xiang&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Docker 环境与 vllm-ascend 镜像&lt;&#x2F;h2&gt;
&lt;p&gt;vLLM-Ascend 官方提供了预构建的 Docker 镜像，集成了 vLLM、PyTorch-NPU 和 CANN 运行时。通过 Docker 可以避免宿主机环境冲突，同时方便版本管理。&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# Update DEVICE according to your device (&#x2F;dev&#x2F;davinci[0-7])&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; DEVICE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;&#x2F;dev&#x2F;davinci0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# Update the vllm-ascend image&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# Atlas A2:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# export IMAGE=quay.io&#x2F;ascend&#x2F;vllm-ascend:v0.23.0-openeuler&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# Atlas A3:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# export IMAGE=quay.io&#x2F;ascend&#x2F;vllm-ascend:v0.23.0-a3-openeuler&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# Atlas 950DT:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# export IMAGE=quay.io&#x2F;ascend&#x2F;vllm-ascend:v0.23.0-950dt-openeuler&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; IMAGE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;quay.io&#x2F;ascend&#x2F;vllm-ascend:v0.23.0-openeuler&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;docker&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; run --rm&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;--name&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; vllm-ascend&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;--shm-size=1g&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source z-punctuation z-definition z-variable&quot;&gt;--device $DEVICE&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;--device&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;dev&#x2F;davinci_manager&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;--device&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;dev&#x2F;devmm_svm&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;--device&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;dev&#x2F;hisi_hdc&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;-v&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;dcmi:&#x2F;usr&#x2F;local&#x2F;dcmi&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;-v&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;bin&#x2F;npu-smi:&#x2F;usr&#x2F;local&#x2F;bin&#x2F;npu-smi&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;-v&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;lib64&#x2F;:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;lib64&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;-v&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;version.info:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;version.info&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;-v&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;etc&#x2F;ascend_install.info:&#x2F;etc&#x2F;ascend_install.info&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;-v&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;root&#x2F;.cache:&#x2F;root&#x2F;.cache&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;-p&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 8000:8000&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source z-punctuation z-definition z-variable&quot;&gt;-it $IMAGE&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; bash&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# Install curl&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;yum&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; update -y&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt; &amp;amp;&amp;amp;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; yum&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; install -y curl&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Docker run 参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--shm-size=1g&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;设置共享内存大小为 1GB。PyTorch DataLoader 和多进程通信需要共享内存&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--device $DEVICE&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;将 NPU 设备 &lt;code&gt;&#x2F;dev&#x2F;davinci0&lt;&#x2F;code&gt; 映射到容器内。此处仅映射单卡用于测试&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--device &#x2F;dev&#x2F;davinci_manager&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;NPU 管理设备，容器内通过它与 NPU 驱动交互&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--device &#x2F;dev&#x2F;devmm_svm&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;设备内存共享虚拟化管理设备&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--device &#x2F;dev&#x2F;hisi_hdc&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;华为 HDC（Hardware Debug Channel）设备，用于调试和通信&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v &#x2F;usr&#x2F;local&#x2F;dcmi:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射 DCMI（Device Control Management Interface）库&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v &#x2F;usr&#x2F;local&#x2F;bin&#x2F;npu-smi:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射 npu-smi 工具，容器内可查看 NPU 状态&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v ...&#x2F;driver&#x2F;lib64&#x2F;:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射 NPU 驱动库文件，容器内运行时依赖&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v &#x2F;etc&#x2F;ascend_install.info:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射安装信息文件，记录 CANN 安装路径和组件&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v &#x2F;root&#x2F;.cache:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射缓存目录，模型下载和编译缓存可跨容器复用&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-p 8000:8000&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射 vLLM API 服务端口&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-it ... bash&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;以交互模式启动并进入 bash shell&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;镜像选择&lt;&#x2F;strong&gt;：根据硬件型号选择对应的镜像：Atlas A2 用 &lt;code&gt;v0.23.0-openeuler&lt;&#x2F;code&gt;，A3 用 &lt;code&gt;v0.23.0-a3-openeuler&lt;&#x2F;code&gt;，950DT 用 &lt;code&gt;v0.23.0-950dt-openeuler&lt;&#x2F;code&gt;。本文使用的是 A2 系列镜像。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;xiao-mo-xing-yan-zheng-qwen3-0-6b-mou-yan-ce-shi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#xiao-mo-xing-yan-zheng-qwen3-0-6b-mou-yan-ce-shi&quot; aria-label=&quot;Anchor link for: xiao-mo-xing-yan-zheng-qwen3-0-6b-mou-yan-ce-shi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
小模型验证：Qwen3-0.6B 冒烟测试&lt;&#x2F;h2&gt;
&lt;p&gt;在正式部署大模型之前，先用一个小模型验证整个推理链路是否畅通。这里选择 &lt;strong&gt;Qwen3-0.6B&lt;&#x2F;strong&gt;——参数量小、下载快，适合快速验证环境。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;xia-zai-mo-xing-bing-qi-dong-fu-wu&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#xia-zai-mo-xing-bing-qi-dong-fu-wu&quot; aria-label=&quot;Anchor link for: xia-zai-mo-xing-bing-qi-dong-fu-wu&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
下载模型并启动服务&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 workspace&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# modelscope download --model Qwen&#x2F;Qwen3-0.6B --local_dir &#x2F;mnt&#x2F;models&#x2F;Qwen&#x2F;Qwen3-0.6B&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 workspace&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# vllm serve &#x2F;mnt&#x2F;models&#x2F;Qwen&#x2F;Qwen3-0.6B --served-model-name qwen3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;APIServer&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;232&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;     Started server process&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [232]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;APIServer&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;232&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;     Waiting for application startup.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;APIServer&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;232&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;     Application startup complete.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;服务启动成功，输出 &lt;code&gt;Application startup complete&lt;&#x2F;code&gt; 表示 vLLM API Server 已就绪。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;cha-kan-ke-yong-mo-xing&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#cha-kan-ke-yong-mo-xing&quot; aria-label=&quot;Anchor link for: cha-kan-ke-yong-mo-xing&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
查看可用模型&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 workspace&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# curl http:&#x2F;&#x2F;localhost:8000&#x2F;v1&#x2F;models &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; python3&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -m json.tool&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;object&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;list&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;data&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;        {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;id&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;qwen3&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;object&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;model&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;created&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 1788066640,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;owned_by&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;vllm&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;root&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;&#x2F;mnt&#x2F;models&#x2F;Qwen&#x2F;Qwen3-0.6B&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;parent&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;max_model_len&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 40960,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;permission&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;                {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;id&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;modelperm-ab74ad47294f4e4f&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;object&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;model_permission&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;created&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 1788066640,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;allow_create_engine&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-false&quot;&gt; false&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;allow_sampling&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-true&quot;&gt; true&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;allow_logprobs&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-true&quot;&gt; true&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;allow_search_indices&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-false&quot;&gt; false&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;allow_view&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-true&quot;&gt; true&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;allow_fine_tuning&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-false&quot;&gt; false&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;organization&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;*&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;group&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;                    &amp;quot;is_blocking&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-false&quot;&gt; false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;                }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;            ]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;        }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;    ]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 workspace&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;API 返回了已加载的模型信息，&lt;code&gt;id&lt;&#x2F;code&gt; 为 &lt;code&gt;qwen3&lt;&#x2F;code&gt;，最大上下文长度 &lt;code&gt;max_model_len&lt;&#x2F;code&gt; 为 40960 tokens。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fa-song-tui-li-qing-qiu&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#fa-song-tui-li-qing-qiu&quot; aria-label=&quot;Anchor link for: fa-song-tui-li-qing-qiu&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
发送推理请求&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 workspace&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# curl http:&#x2F;&#x2F;localhost:8000&#x2F;v1&#x2F;completions     -H &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;Content-Type: application&#x2F;json&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;     -d &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;        &amp;quot;model&amp;quot;: &amp;quot;qwen3&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;        &amp;quot;prompt&amp;quot;: &amp;quot;Beijing is a&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;        &amp;quot;max_completion_tokens&amp;quot;: 5,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;        &amp;quot;temperature&amp;quot;: 0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;    }&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; |&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; python3&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -m json.tool&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;{&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;id&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;cmpl-86ccbe0c8c82384a&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;object&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;text_completion&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;created&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 1788066874,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;model&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;qwen3&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;choices&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;        {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;index&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 0,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;text&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot; city that has been experiencing a lot of changes. The city has been experiencing a&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;logprobs&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;finish_reason&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;length&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;stop_reason&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;token_ids&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;prompt_logprobs&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;prompt_token_ids&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;            &amp;quot;routed_experts&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;        }&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;    ],&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;service_tier&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;system_fingerprint&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt; &amp;quot;vllm-0.23.0-5658b290&amp;quot;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;usage&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;        &amp;quot;prompt_tokens&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 4,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;        &amp;quot;total_tokens&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 20,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;        &amp;quot;completion_tokens&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 16,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;        &amp;quot;prompt_tokens_details&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;    }&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    &amp;quot;kv_transfer_params&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; null&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 workspace&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;冒烟测试通过&lt;&#x2F;strong&gt;：模型成功生成了续写文本 &lt;strong&gt;“ city that has been experiencing a lot of changes…“&lt;&#x2F;strong&gt;。&lt;code&gt;finish_reason: length&lt;&#x2F;code&gt; 表示因达到 &lt;code&gt;max_completion_tokens&lt;&#x2F;code&gt; 上限而停止。至此，单卡推理链路验证完毕，环境没有问题。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;deepseek-v4-flash-dan-ji-tp8-bu-shu&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#deepseek-v4-flash-dan-ji-tp8-bu-shu&quot; aria-label=&quot;Anchor link for: deepseek-v4-flash-dan-ji-tp8-bu-shu&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
DeepSeek V4 Flash 单机 TP8 部署&lt;&#x2F;h2&gt;
&lt;p&gt;验证完基础环境后，开始正式部署目标模型 &lt;strong&gt;DeepSeek V4 Flash&lt;&#x2F;strong&gt;（W8A8 量化版）。单机阶段使用 8 卡张量并行（TP=8），将模型权重切分到 8 张 NPU 上并行计算。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;qi-dong-docker-rong-qi-8-qia-quan-liang-ying-she&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#qi-dong-docker-rong-qi-8-qia-quan-liang-ying-she&quot; aria-label=&quot;Anchor link for: qi-dong-docker-rong-qi-8-qia-quan-liang-ying-she&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
启动 Docker 容器（8 卡全量映射）&lt;&#x2F;h3&gt;
&lt;p&gt;与之前的测试容器不同，这里需要映射全部 8 张 NPU 卡，并使用专门的 DeepSeek V4 Flash 镜像：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; IMAGE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;quay.io&#x2F;ascend&#x2F;vllm-ascend:DeepSeekV4-flash-0731&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;docker&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; run --rm&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --privileged=true&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --name vllm-ascend&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --shm-size=512g&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --net=host&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci0&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci1&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci2&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci3&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci5&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci6&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci7&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;davinci_manager&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;devmm_svm&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --device &#x2F;dev&#x2F;hisi_hdc&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;dcmi:&#x2F;usr&#x2F;local&#x2F;dcmi&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;tools&#x2F;hccn_tool:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;tools&#x2F;hccn_tool&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;bin&#x2F;npu-smi:&#x2F;usr&#x2F;local&#x2F;bin&#x2F;npu-smi&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;firmware:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;firmware&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;add-ons&#x2F;:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;add-ons&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;lib64&#x2F;:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;lib64&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;ascend-toolkit:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;ascend-toolkit&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;version.info:&#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;driver&#x2F;version.info&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;etc&#x2F;ascend_install.info:&#x2F;etc&#x2F;ascend_install.info&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;etc&#x2F;hccn.conf:&#x2F;etc&#x2F;hccn.conf&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;usr&#x2F;local&#x2F;sbin&#x2F;:&#x2F;usr&#x2F;local&#x2F;sbin&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -v &#x2F;mnt&#x2F;models:&#x2F;mnt&#x2F;models&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --ulimit nofile=65535:65535&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    -it&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $IMAGE&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; bash&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;关键参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--privileged=true&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;特权模式，容器拥有完整权限，可访问 NPU 驱动的所有接口&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--shm-size=512g&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;共享内存设为 512GB，大模型多卡推理需要大量共享内存用于进程间数据交换&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--net=host&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;使用宿主机网络栈，容器直接使用物理网络。TP8 多卡通信需要低延迟网络，NAT 会增加开销&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--device &#x2F;dev&#x2F;davinci0-7&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射全部 8 张 NPU 卡到容器内&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v ...&#x2F;hccn_tool:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射 HCCN（Huawei Cache Coherent Network）工具，用于卡间通信配置&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v ...&#x2F;firmware:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射 NPU 固件&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v ...&#x2F;ascend-toolkit:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射 Ascend Toolkit（CANN 工具链），容器内编译算子需要&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v &#x2F;etc&#x2F;hccn.conf:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射 HCCN 配置文件，包含卡间网络拓扑信息&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;-v &#x2F;mnt&#x2F;models:...&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;映射模型存储目录&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--ulimit nofile=65535:65535&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;设置容器内文件描述符上限&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;qi-dong-vllm-fu-wu-tp8&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#qi-dong-vllm-fu-wu-tp8&quot; aria-label=&quot;Anchor link for: qi-dong-vllm-fu-wu-tp8&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
启动 vLLM 服务（TP8）&lt;&#x2F;h3&gt;
&lt;p&gt;进入容器后，设置环境变量并启动 vLLM 服务：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;source&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;ascend-toolkit&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;source&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;nnal&#x2F;atb&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; OMP_NUM_THREADS&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;32&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; PYTORCH_NPU_ALLOC_CONF&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;expandable_segments:True&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; TASK_QUEUE_ENABLE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_BUFFSIZE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1024&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_OP_EXPANSION_MODE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;AIV&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;vllm&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; serve &#x2F;mnt&#x2F;models&#x2F;Eco-Tech&#x2F;DeepSeek-V4-Flash-0731-w8a8&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --host&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0.0.0.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --port&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8000&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --api-key your-api-key&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --served-model-name dsv4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tensor-parallel-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-expert-parallel&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --quantization ascend&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-model-len&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1048576&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-num-seqs&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 32&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-num-batched-tokens&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8192&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --gpu-memory-utilization&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0.9&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --block-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 128&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --trust-remote-code&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tokenizer-mode deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tool-call-parser deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-auto-tool-choice&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --reasoning-parser deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-prefix-caching&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --no-disable-hybrid-kv-cache-manager&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;    --model-loader-extra-config &amp;#39;{&amp;quot;enable_multithread_load&amp;quot;: true, &amp;quot;num_threads&amp;quot;: 128}&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;    --additional-config &amp;#39;{   &amp;quot;ascend_compilation_config&amp;quot;: {     &amp;quot;enable_npugraph_ex&amp;quot;: true,     &amp;quot;enable_static_kernel&amp;quot;: false   },   &amp;quot;enable_cpu_binding&amp;quot;: true,   &amp;quot;enable_dsa_cp&amp;quot;: false,   &amp;quot;multistream_overlap_shared_expert&amp;quot;: true }&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;    --compilation-config &amp;#39;{&amp;quot;cudagraph_mode&amp;quot;: &amp;quot;FULL_DECODE_ONLY&amp;quot;}&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --async-scheduling&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;环境变量说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;环境变量&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;OMP_NUM_THREADS&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;32&lt;&#x2F;td&gt;&lt;td&gt;OpenMP 线程数，控制 CPU 端并行度。设为 32 平衡 CPU 计算和上下文切换开销&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;PYTORCH_NPU_ALLOC_CONF&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;expandable_segments:True&lt;&#x2F;td&gt;&lt;td&gt;启用可扩展内存段分配，减少 NPU 内存碎片，大模型推理必备&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;TASK_QUEUE_ENABLE&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;启用任务队列，优化 NPU 算子调度顺序&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_BUFFSIZE&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1024&lt;&#x2F;td&gt;&lt;td&gt;HCCL 通信缓冲区大小（MB），增大可提升集合通信吞吐&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_OP_EXPANSION_MODE&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;AIV&lt;&#x2F;td&gt;&lt;td&gt;HCCL 算子展开模式，AIV 模式使用 AI Vector 进行通信优化&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;&lt;strong&gt;vLLM serve 参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--tensor-parallel-size&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;8&lt;&#x2F;td&gt;&lt;td&gt;张量并行度，将模型权重切分到 8 张卡上。单机 8 卡全用&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--enable-expert-parallel&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;启用专家并行（EP）。DeepSeek V4 是 MoE 模型，EP 让不同专家分布在不同卡上&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--quantization&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;ascend&lt;&#x2F;td&gt;&lt;td&gt;使用昇腾专用量化方案，对应 W8A8 权重+激活量化&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--max-model-len&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1048576&lt;&#x2F;td&gt;&lt;td&gt;最大上下文长度 1M tokens（1048576）。DeepSeek V4 支持超长上下文&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--max-num-seqs&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;32&lt;&#x2F;td&gt;&lt;td&gt;最大并发序列数，控制同时处理的请求数&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--max-num-batched-tokens&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;8192&lt;&#x2F;td&gt;&lt;td&gt;单次批量处理的最大 token 数&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--gpu-memory-utilization&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0.9&lt;&#x2F;td&gt;&lt;td&gt;NPU 显存利用率上限 90%，预留 10% 给框架开销&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--block-size&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;128&lt;&#x2F;td&gt;&lt;td&gt;KV Cache 块大小，128 是 DeepSeek V4 推荐值&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--tokenizer-mode&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;deepseek_v4&lt;&#x2F;td&gt;&lt;td&gt;使用 DeepSeek V4 专用 tokenizer 模式&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--tool-call-parser&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;deepseek_v4&lt;&#x2F;td&gt;&lt;td&gt;使用 DeepSeek V4 工具调用解析器&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--enable-auto-tool-choice&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;启用自动工具选择，模型可自主决定是否调用工具&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--reasoning-parser&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;deepseek_v4&lt;&#x2F;td&gt;&lt;td&gt;使用 DeepSeek V4 推理内容解析器，提取思维链&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--enable-prefix-caching&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;启用前缀缓存，相同前缀的请求复用 KV Cache，减少重复计算&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--no-disable-hybrid-kv-cache-manager&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;启用混合 KV Cache 管理器，优化 MoE 模型的显存使用&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--model-loader-extra-config&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;multithread_load&lt;&#x2F;td&gt;&lt;td&gt;多线程加载模型权重，128 线程并行读取 safetensors 文件，加速加载&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--additional-config&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;JSON&lt;&#x2F;td&gt;&lt;td&gt;Ascend 编译配置：启用 NPU Graph 扩展、CPU 绑定、多流重叠共享专家等高级优化&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--compilation-config&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;FULL_DECODE_ONLY&lt;&#x2F;td&gt;&lt;td&gt;cudagraph 模式设为仅解码阶段全图编译，平衡编译时间和执行效率&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--async-scheduling&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;启用异步调度，让 CPU 调度与 NPU 计算重叠，减少 bubble 时间&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;yun-xing-zhuang-tai-jian-kong&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#yun-xing-zhuang-tai-jian-kong&quot; aria-label=&quot;Anchor link for: yun-xing-zhuang-tai-jian-kong&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
运行状态监控&lt;&#x2F;h3&gt;
&lt;p&gt;服务运行后，vLLM 会定期输出引擎状态日志，展示实时吞吐和资源使用情况：&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.kali-team.cn&#x2F;blog&#x2F;2026&#x2F;09&#x2F;%E5%8F%8C%E6%9C%BA%20Atlas%20800T%20A2%20%E9%83%A8%E7%BD%B2%E5%A4%A7%E6%A8%A1%E5%9E%8B&#x2F;vllm_http.png&quot; alt=&quot;http）&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;APIServer&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;273&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 08:20:18&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [loggers.py:273] Engine 000: Avg prompt throughput: 409.5 tokens&#x2F;s, Avg generation throughput: 336.9 tokens&#x2F;s, Running: 126 reqs, Waiting: 0 reqs, GPU KV cache usage: 70.7%, Prefix cache hit rate: 0.0%&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;APIServer&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;273&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 08:20:18&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [metrics.py:120] SpecDecoding metrics: Mean acceptance length: 1.56, Accepted throughput: 121.68 tokens&#x2F;s, Drafted throughput: 1511.08 tokens&#x2F;s, Accepted: 1217 tokens, Drafted: 15113 tokens, Per-position acceptance rate: 0.227, 0.117, 0.073, 0.056, 0.042, 0.029, 0.019, Avg Draft acceptance rate: 8.1%&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;运行状态解读&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;引擎吞吐&lt;&#x2F;strong&gt;：Prompt 处理 409.5 tokens&#x2F;s，生成 336.9 tokens&#x2F;s；当前 126 个请求并发运行、0 个排队等待；KV Cache 使用率 70.7%。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;投机解码（SpecDecoding）&lt;&#x2F;strong&gt;：平均接受长度 1.56，即每个草稿 token 平均有 1.56 个被接受；草稿吞吐 1511.08 tokens&#x2F;s，接受吞吐 121.68 tokens&#x2F;s；平均草稿接受率 8.1%。投机解码通过小模型快速生成候选 token 再由大模型验证，可加速推理。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;dan-ji-xing-neng-ya-ce&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#dan-ji-xing-neng-ya-ce&quot; aria-label=&quot;Anchor link for: dan-ji-xing-neng-ya-ce&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
单机性能压测&lt;&#x2F;h2&gt;
&lt;p&gt;服务稳定运行后，使用 vLLM 内置的 &lt;code&gt;vllm bench serve&lt;&#x2F;code&gt; 工具进行性能压测，评估单机 TP8 配置下的吞吐和延迟指标。&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# docker exec -it vllm-ascend bash&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; vllm bench serve   --backend openai   --base-url http:&#x2F;&#x2F;127.0.0.1:8000   --served-model-name dsv4   --model &#x2F;mnt&#x2F;models&#x2F;Eco-Tech&#x2F;DeepSeek-V4-Flash-0731-w8a8   --dataset-name random   --num-prompts&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1024&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;   --num-warmups&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;   --request-rate inf   --max-concurrency&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 128&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;   --random-input-len&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1024&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;   --random-output-len&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 512&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;   --save-result   --result-dir .&#x2F;bench_results&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 09:19:39&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [__init__.py:44] Available plugins &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; group vllm.platform_plugins:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 09:19:39&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [__init__.py:46] - ascend -&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; vllm_ascend:register&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 09:19:39&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [__init__.py:49] All plugins in this group will be loaded. Set &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt;`&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;VLLM_PLUGINS&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt;`&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; to&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; control which plugins to load.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 09:19:39&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [__init__.py:237] Platform plugin ascend is activated&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 09:19:50&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [platform.py:61] Breakable cudagraph is force disabled on Ascend because DeepSeek V4 PIECEWISE cudagraph is not supported yet.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;2026-08-30&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 09:19:50,069 -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 14584&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; - ServiceProfiler - INFO - VLLM_USE_V1 not set, auto-detected via vLLM 0.25.1+empty: default&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 09:19:50&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [__init__.py:112] Registered model loader &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell z-keyword z-operator&quot;&gt;`&amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;class &amp;#39;vllm_ascend.model_loader.netloader.netloader.ModelNetLoaderElastic&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt;&amp;gt;`&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; with&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; load format&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt; `&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netloader&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt;`&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 09:19:50&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [__init__.py:112] Registered model loader &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell z-keyword z-operator&quot;&gt;`&amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;class &amp;#39;vllm_ascend.model_loader.rfork.rfork_loader.RForkModelLoader&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt;&amp;gt;`&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; with&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; load format&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt; `&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;rfork&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt;`&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Namespace(subparser&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;&amp;#39;bench&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt; bench_type=&amp;#39;serve&amp;#39;, dispatch_function=&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;function BenchmarkServingSubcommand.cmd at&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0xfffc1f16eac&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;0&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;, trust_remote_code=False, seed=0, num_prompts=1024, dataset_name=&amp;#39;random&amp;#39;, no_stream=False, dataset_path=None, no_oversample=False, skip_chat_template=False, enable_multimodal_chat=False, disable_shuffle=False, custom_output_len=256, custom_ensure_client_side_data=False, spec_bench_output_len=256, spec_bench_category=None, sonnet_input_len=550, sonnet_output_len=150, sonnet_prefix_len=200, sharegpt_output_len=None, timed_trace_chunk_hash_size=16, timed_trace_sec_multiplier=1, timed_trace_label_timestamp=&amp;#39;timestamp&amp;#39;, timed_trace_label_input_length=&amp;#39;input_length&amp;#39;, timed_trace_label_output_length=&amp;#39;output_length&amp;#39;, timed_trace_label_hash_ids=&amp;#39;hash_ids&amp;#39;, blazedit_min_distance=0.0, blazedit_max_distance=1.0, asr_max_audio_len_sec=inf, asr_min_audio_len_sec=0.0, random_input_len=1024, random_output_len=512, random_range_ratio=&amp;#39;0.0&amp;#39;, random_prefix_len=0, random_batch_size=1, no_reranker=False, random_mm_base_items_per_request=1, random_mm_num_mm_items_range_ratio=0.0, random_mm_limit_mm_per_prompt={&amp;#39;image&amp;#39;: 255, &amp;#39;video&amp;#39;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;}, random_mm_bucket_config={&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;256,&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 256,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;: 0.5,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (720,&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 1280,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;): 0.5, (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;720,&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 1280,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 16&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;): 0.0}, hf_subset&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; hf_split&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; hf_name&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; hf_output_len&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; bfcl_categories&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; prefix_repetition_prefix_len&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;256,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; prefix_repetition_suffix_len&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;256,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; prefix_repetition_num_prefixes&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;10,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; prefix_repetition_output_len&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;128,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; speed_bench_dataset_subset&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;qualitative&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; speed_bench_output_len&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;4096,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; speed_bench_category&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; label&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; backend&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;openai&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; base_url&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;http:&#x2F;&#x2F;127.0.0.1:8000&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; host&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;127.0.0.1&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; port&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;8000,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; endpoint&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;&#x2F;v1&#x2F;completions&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; header&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; max_concurrency&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;128,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; model&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;&#x2F;mnt&#x2F;models&#x2F;Eco-Tech&#x2F;DeepSeek-V4-Flash-0731-w8a8&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; input_len&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; output_len&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; tokenizer&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; tokenizer_mode&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;auto&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; use_beam_search&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; logprobs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; request_rate&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;inf,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; burstiness&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;1.0,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; disable_tqdm&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; num_warmups&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;10,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; profile&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; save_result&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;True,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; save_detailed&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; append_result&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; metadata&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; result_dir&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;.&#x2F;bench_results&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; result_filename&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ignore_eos&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; self_timed&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; percentile_metrics&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; metric_percentiles&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;99&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; goodput&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; request_id_prefix&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;bench-dc506760-&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; top_p&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; top_k&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; min_p&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; temperature&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; frequency_penalty&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; presence_penalty&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; repetition_penalty&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; served_model_name&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;dsv4&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; lora_modules&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; lora_assignment&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;random&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ramp_up_strategy&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ramp_up_start_rps&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ramp_up_end_rps&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ready_check_timeout_sec&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;0,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; chat_template_kwargs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; extra_body&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;None,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; skip_tokenizer_init&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; insecure&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; plot_timeline&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; timeline_itl_thresholds&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;25,50&amp;#39;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; plot_dataset_stats&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;False&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-30 09:19:52&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [utils.py:90] Sampling input_len from &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;1024, 1024&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; and output_len from &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;512, 512&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;WARNING:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;tokenize unavailable, skipping alignment.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;WARNING:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; vllm bench serve no longer sets temperature==&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (greedy) in requests by default. The default will be determined on the server side and can be model&#x2F;API specific. For the old behavior, include --temperature&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;0.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Starting&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; initial single prompt test run...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Skipping&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; endpoint ready check.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Warming&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; up with&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; requests...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;100%&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;██████████████████████████████████████████████████████████████████████████████████&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 10&#x2F;10&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [00:36&amp;lt;00:00,&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;  3.65s&#x2F;it]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Warmup&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; run completed.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Starting&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; main benchmark run...&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Traffic&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; request rate: inf&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Burstiness&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; factor:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (Poisson&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; process&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Maximum&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; request concurrency:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 128&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;100%&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;██████████████████████████████████████████████████████████████████████████████&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;|&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 1024&#x2F;1024&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [07:00&amp;lt;00:00,&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;  2.44it&#x2F;s]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;tip:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; install termplotlib and gnuplot to plot the metrics&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;============ Serving Benchmark Result ============&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Successful&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; requests:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;                     1024&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Failed&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; requests:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;                         0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Maximum&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; request concurrency:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;             128&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Benchmark&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; duration&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (s):                  420.15&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; input tokens:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;                      1048576&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; generated tokens:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;                  524288&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Request&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; throughput&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (req&#x2F;s):              2.44&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Output&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; token throughput&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (tok&#x2F;s):         1247.86&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Peak&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; output token throughput&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (tok&#x2F;s):    1747.00&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Peak&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; concurrent requests:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;                152.00&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; token throughput&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (tok&#x2F;s):          3743.58&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;---------------Time&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; to First Token----------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Mean&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; TTFT&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                          2638.07&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Median&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; TTFT&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                        2154.07&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;P99&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; TTFT&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                           11093.08&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;-----Time&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; per Output Token&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (excl.&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 1st token&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;)------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Mean&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; TPOT&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                          97.49&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Median&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; TPOT&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                        98.33&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;P99&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; TPOT&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                           100.58&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;---------------Inter-token&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; Latency----------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Mean&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ITL&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                           97.49&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Median&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ITL&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                         81.38&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;P99&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ITL&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; (ms):                            720.66&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;==================================================&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.kali-team.cn&#x2F;blog&#x2F;2026&#x2F;09&#x2F;%E5%8F%8C%E6%9C%BA%20Atlas%20800T%20A2%20%E9%83%A8%E7%BD%B2%E5%A4%A7%E6%A8%A1%E5%9E%8B&#x2F;vllm_bench.png&quot; alt=&quot;bench&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;压测参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--backend&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;openai&lt;&#x2F;td&gt;&lt;td&gt;使用 OpenAI 兼容 API 后端&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--base-url&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;http:&#x2F;&#x2F;127.0.0.1:8000&quot;&gt;http:&#x2F;&#x2F;127.0.0.1:8000&lt;&#x2F;a&gt;&lt;&#x2F;td&gt;&lt;td&gt;vLLM 服务地址&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--dataset-name&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;random&lt;&#x2F;td&gt;&lt;td&gt;使用随机生成数据集（非真实对话数据），用于纯性能压测&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--num-prompts&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1024&lt;&#x2F;td&gt;&lt;td&gt;发送 1024 个请求&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--num-warmups&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;10&lt;&#x2F;td&gt;&lt;td&gt;预热请求数，不计入统计结果&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--request-rate&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;inf&lt;&#x2F;td&gt;&lt;td&gt;请求发送速率为无穷大，即尽可能快地发送所有请求&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--max-concurrency&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;128&lt;&#x2F;td&gt;&lt;td&gt;最大并发请求数 128，超过则排队&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--random-input-len&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1024&lt;&#x2F;td&gt;&lt;td&gt;每个请求的输入长度 1024 tokens&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--random-output-len&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;512&lt;&#x2F;td&gt;&lt;td&gt;每个请求的输出长度 512 tokens&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--save-result&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;保存结果到指定目录&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;ya-ce-jie-guo-fen-xi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#ya-ce-jie-guo-fen-xi&quot; aria-label=&quot;Anchor link for: ya-ce-jie-guo-fen-xi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
压测结果分析&lt;&#x2F;h3&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;指标&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;含义&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;成功请求&lt;&#x2F;td&gt;&lt;td&gt;1024 &#x2F; 1024&lt;&#x2F;td&gt;&lt;td&gt;全部成功，0 失败&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;请求吞吐&lt;&#x2F;td&gt;&lt;td&gt;2.44 req&#x2F;s&lt;&#x2F;td&gt;&lt;td&gt;每秒完成 2.44 个请求&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;输出 token 吞吐&lt;&#x2F;td&gt;&lt;td&gt;1247.86 tok&#x2F;s&lt;&#x2F;td&gt;&lt;td&gt;每秒生成约 1248 个 token&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;峰值输出吞吐&lt;&#x2F;td&gt;&lt;td&gt;1747.00 tok&#x2F;s&lt;&#x2F;td&gt;&lt;td&gt;峰值瞬间每秒生成 1747 个 token&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;总 token 吞吐&lt;&#x2F;td&gt;&lt;td&gt;3743.58 tok&#x2F;s&lt;&#x2F;td&gt;&lt;td&gt;含输入+输出的总吞吐&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;平均 TTFT&lt;&#x2F;td&gt;&lt;td&gt;2638.07 ms&lt;&#x2F;td&gt;&lt;td&gt;首 token 延迟，平均约 2.6 秒&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;P99 TTFT&lt;&#x2F;td&gt;&lt;td&gt;11093.08 ms&lt;&#x2F;td&gt;&lt;td&gt;99 分位首 token 延迟约 11 秒&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;平均 TPOT&lt;&#x2F;td&gt;&lt;td&gt;97.49 ms&lt;&#x2F;td&gt;&lt;td&gt;首 token 后每个输出 token 平均耗时约 97.5ms&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;平均 ITL&lt;&#x2F;td&gt;&lt;td&gt;97.49 ms&lt;&#x2F;td&gt;&lt;td&gt;token 间平均延迟约 97.5ms&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;P99 ITL&lt;&#x2F;td&gt;&lt;td&gt;720.66 ms&lt;&#x2F;td&gt;&lt;td&gt;99 分位 token 间延迟约 721ms&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;性能总结&lt;&#x2F;strong&gt;：单机 TP8 配置下，输出吞吐约 &lt;strong&gt;1248 tok&#x2F;s&lt;&#x2F;strong&gt;，峰值达 &lt;strong&gt;1747 tok&#x2F;s&lt;&#x2F;strong&gt;。TPOT 约 97.5ms&#x2F;token，P99 控制在 100.58ms 以内，生成速率稳定。TTFT 平均 2.6 秒（P99 约 11 秒），在高并发 128 请求下首 token 延迟可接受。整体表现良好，为后续双机部署提供了性能基线。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;ray-fen-bu-shi-duo-jie-dian-bu-shu&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#ray-fen-bu-shi-duo-jie-dian-bu-shu&quot; aria-label=&quot;Anchor link for: ray-fen-bu-shi-duo-jie-dian-bu-shu&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Ray 分布式多节点部署&lt;&#x2F;h2&gt;
&lt;p&gt;单机 8 卡已经能运行 DeepSeek V4 Flash，但双机 16 卡可以通过更大的并行度提升吞吐。这里使用 &lt;strong&gt;Ray&lt;&#x2F;strong&gt; 作为分布式执行框架，将两台机器组成一个集群，实现跨节点的流水线并行（PP2）+ 张量并行（TP8）。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;npu-wang-luo-lian-tong-xing-jian-cha&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#npu-wang-luo-lian-tong-xing-jian-cha&quot; aria-label=&quot;Anchor link for: npu-wang-luo-lian-tong-xing-jian-cha&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
NPU 网络连通性检查&lt;&#x2F;h3&gt;
&lt;p&gt;在搭建 Ray 集群之前，首先验证 8 张 NPU 卡的 RoCE 网络是否正常。使用 &lt;code&gt;hccn_tool&lt;&#x2F;code&gt; 工具逐卡检查链路状态、网络健康度、对端地址和网关配置。&lt;&#x2F;p&gt;
&lt;h4 id=&quot;1-cha-kan-mei-zhang-qia-de-wu-li-wang-kou&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#1-cha-kan-mei-zhang-qia-de-wu-li-wang-kou&quot; aria-label=&quot;Anchor link for: 1-cha-kan-mei-zhang-qia-de-wu-li-wang-kou&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
1. 查看每张卡的物理网口&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#  &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; i&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; {&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;0..7}&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; do&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; hccn_tool&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -i&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $i&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -lldp -g&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; |&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; grep&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; Ifname&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; done&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;	Ifname:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 400GE1&#x2F;4&#x2F;1:1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;	Ifname:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 400GE1&#x2F;4&#x2F;1:2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;	Ifname:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 400GE1&#x2F;4&#x2F;2:1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;	Ifname:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 400GE1&#x2F;4&#x2F;2:2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;	Ifname:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 400GE1&#x2F;4&#x2F;3:1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;	Ifname:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 400GE1&#x2F;4&#x2F;3:2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;	Ifname:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 400GE1&#x2F;4&#x2F;4:1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;	Ifname:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 400GE1&#x2F;4&#x2F;4:2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;每张卡有 8 个 400GE（400 Gigabit Ethernet）端口，通过 LLDP 协议发现对端设备。400GE 高速网络为卡间通信提供了充足带宽。&lt;&#x2F;p&gt;
&lt;h4 id=&quot;2-jian-cha-lian-lu-zhuang-tai&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#2-jian-cha-lian-lu-zhuang-tai&quot; aria-label=&quot;Anchor link for: 2-jian-cha-lian-lu-zhuang-tai&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
2. 检查链路状态&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#  &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; i&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; {&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;0..7}&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; do&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; hccn_tool&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -i&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $i&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -link -g&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt; ;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; done&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;link&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status: UP&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;link&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status: UP&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;link&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status: UP&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;link&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status: UP&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;link&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status: UP&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;link&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status: UP&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;link&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status: UP&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;link&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status: UP&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;全部 8 张卡链路状态均为 &lt;strong&gt;UP&lt;&#x2F;strong&gt;，物理连接正常。&lt;&#x2F;p&gt;
&lt;h4 id=&quot;3-jian-cha-wang-luo-jian-kang-du&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#3-jian-cha-wang-luo-jian-kang-du&quot; aria-label=&quot;Anchor link for: 3-jian-cha-wang-luo-jian-kang-du&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
3. 检查网络健康度&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#  &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; i&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; {&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;0..7}&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; do&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; hccn_tool&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -i&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $i&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -net_health -g&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt; ;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; done&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;net&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; health status: Success&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;net&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; health status: Success&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;net&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; health status: Success&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;net&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; health status: Success&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;net&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; health status: Success&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;net&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; health status: Success&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;net&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; health status: Success&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;net&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; health status: Success&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;全部 &lt;strong&gt;Success&lt;&#x2F;strong&gt;，RoCE 网络健康。&lt;&#x2F;p&gt;
&lt;h4 id=&quot;4-cha-kan-dui-duan-jian-ce-di-zhi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#4-cha-kan-dui-duan-jian-ce-di-zhi&quot; aria-label=&quot;Anchor link for: 4-cha-kan-dui-duan-jian-ce-di-zhi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
4. 查看对端检测地址&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#  &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; i&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; {&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;0..7}&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; do&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; hccn_tool&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -i&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $i&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -netdetect -g&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt; ;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; done&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netdetect&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; address:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netdetect&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; address:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netdetect&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; address:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netdetect&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; address:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.6&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netdetect&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; address:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netdetect&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; address:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.10&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netdetect&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; address:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.12&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;netdetect&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; address:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.14&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;每张卡检测到的对端地址分布在 &lt;code&gt;6.0.2.x&lt;&#x2F;code&gt; 网段，偶数地址递增。&lt;&#x2F;p&gt;
&lt;h4 id=&quot;5-cha-kan-wang-guan-he-jie-kou&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#5-cha-kan-wang-guan-he-jie-kou&quot; aria-label=&quot;Anchor link for: 5-cha-kan-wang-guan-he-jie-kou&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
5. 查看网关和接口&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#  &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; i&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; {&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;0..7}&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; do&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; hccn_tool&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -i&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $i&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -gateway -g&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt; ;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; done&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;default&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gateway:6.0.2.0, Iface:eth0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;default&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gateway:6.0.2.2, Iface:eth1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;default&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gateway:6.0.2.4, Iface:eth2&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;default&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gateway:6.0.2.6, Iface:eth3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;default&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gateway:6.0.2.8, Iface:eth4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;default&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gateway:6.0.2.10, Iface:eth5&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;default&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gateway:6.0.2.12, Iface:eth6&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;default&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gateway:6.0.2.14, Iface:eth7&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;每张卡对应一个独立的虚拟网口（eth0~eth7），网关地址依次递增。NPU 卡间网络通过内部交换芯片互联，无需外部交换机。&lt;&#x2F;p&gt;
&lt;h4 id=&quot;6-cha-kan-ip-di-zhi-bing-ce-shi-lian-tong-xing&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#6-cha-kan-ip-di-zhi-bing-ce-shi-lian-tong-xing&quot; aria-label=&quot;Anchor link for: 6-cha-kan-ip-di-zhi-bing-ce-shi-lian-tong-xing&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
6. 查看 IP 地址并测试连通性&lt;&#x2F;h4&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; i&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; in&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; {&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;0..7}&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; do&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; hccn_tool&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -i&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $i&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -ip -g&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; |&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; grep&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ipaddr&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; done&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ipaddr:6.0.2.1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ipaddr:6.0.2.3&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ipaddr:6.0.2.5&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ipaddr:6.0.2.7&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ipaddr:6.0.2.9&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ipaddr:6.0.2.11&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ipaddr:6.0.2.13&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ipaddr:6.0.2.15&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;# hccn_tool -i 0 -ping -g address 6.0.2.1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;device&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; PING&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 6.0.2.1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;recv&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; seq=0,time=0.042000ms&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;recv&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; seq=1,time=0.012000ms&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;recv&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; seq=2,time=0.009000ms&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;3&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; packets transmitted,&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 3&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; received, 0.00% packet loss&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;root@ctyun-gpu-atlas-01 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;~&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;NPU 0 ping 自身地址（6.0.2.1），3 个包全部收到，延迟约 0.01~0.04ms，0% 丢包。卡间网络连通性完全正常。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;ray-head-jie-dian-qi-dong&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#ray-head-jie-dian-qi-dong&quot; aria-label=&quot;Anchor link for: ray-head-jie-dian-qi-dong&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Ray Head 节点启动&lt;&#x2F;h3&gt;
&lt;p&gt;在第一台机器（&lt;code&gt;atlas-01&lt;&#x2F;code&gt;，IP: 10.0.0.6）上启动 Ray Head 节点：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_IF_IP&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;10.0.0.6&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;eno0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; RAY_EXPERIMENTAL_NOSET_ASCEND_RT_VISIBLE_DEVICES&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ASCEND_RT_VISIBLE_DEVICES&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;0,1,2,3,4,5,6,7&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_P2P_DISABLE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_IF_BASE_PORT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;50000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ray start --head --node-ip-address=10.0.0.6 --port=6379 --num-gpus=8&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;                                                                               [394&#x2F;462]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Enable&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; usage stats collection? This prompt will auto-proceed in&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 10&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; seconds to avoid blocking cluster startup. Confirm&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [Y&#x2F;n]: y&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Usage&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; stats collection is enabled. To disable this, add&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt; `&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;--disable-usage-stats&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt;`&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; to&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; the command that starts the cluster, or run the following command:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt; `&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ray&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; disable-usage-stats&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-evaluation z-backticks z-shell&quot;&gt;`&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; before&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; starting&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;the&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; cluster. See https:&#x2F;&#x2F;docs.ray.io&#x2F;en&#x2F;master&#x2F;cluster&#x2F;usage-stats.html for more details.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Local&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; node IP:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 10.0.0.6&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;2026-08-31&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 01:22:14,499 - INFO - Failed to auto-detect TPU type.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;2026-08-31&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 01:22:14,505 - INFO - Failed to configure TPU pod. Got: tpu_name: None, worker_id: None, accelerator_type: None&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;--------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Ray&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; runtime started.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;--------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Next&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; steps&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;  To&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; add another node to this Ray cluster, run&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    ray&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt; start --address=&amp;#39;10.0.0.6:6379&amp;#39;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;  To&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; connect to this Ray cluster:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    import&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ray&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    ray.init(_node_ip_address&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;&amp;#39;10.0.0.6&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;  To&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; terminate the Ray runtime, run&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    ray&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; stop&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;  To&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; view the status of the cluster, use&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    ray&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ray status&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;======== Autoscaler status: 2026-08-31 01:22:29.001024 ========&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Node&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;---------------------------------------------------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Active:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; node_b9434c9fa32f41a47c6f450a08b76d1f358b0002cbe7babee773f5e8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; node_0c2a8d8fb57354c14c2917f5752bb2993c1c2811a3c9a3d2b39e511f&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Pending:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;no&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pending nodes&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Recent&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; failures:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;no&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; failures&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Resources&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;---------------------------------------------------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; Usage:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0.0&#x2F;384.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; CPU&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0.0&#x2F;16.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; GPU&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0.0&#x2F;16.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; NPU&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0.0&#x2F;2.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; TPU&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0B&#x2F;2.63TiB&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; memory&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0B&#x2F;372.53GiB&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; object_store_memory&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; Constraints:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;no&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; request_resources&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;()&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; constraints&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; Demands:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;no&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; resource demands&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.kali-team.cn&#x2F;blog&#x2F;2026&#x2F;09&#x2F;%E5%8F%8C%E6%9C%BA%20Atlas%20800T%20A2%20%E9%83%A8%E7%BD%B2%E5%A4%A7%E6%A8%A1%E5%9E%8B&#x2F;ray_cluster_status.png&quot; alt=&quot;图 2：Ray Head 节点启动后的集群状态（tmux 会话截图）&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;环境变量说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;环境变量&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_IF_IP&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;10.0.0.6&lt;&#x2F;td&gt;&lt;td&gt;HCCL 通信使用的本机 IP 地址。Head 节点为 10.0.0.6&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_SOCKET_IFNAME&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;eno0&lt;&#x2F;td&gt;&lt;td&gt;HCCL 通信使用的网卡接口名&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;RAY_EXPERIMENTAL_NOSET_ASCEND_RT_VISIBLE_DEVICES&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;实验性参数，阻止 Ray 自动设置 ASCEND_RT_VISIBLE_DEVICES，由用户手动控制&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;ASCEND_RT_VISIBLE_DEVICES&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0,1,2,3,4,5,6,7&lt;&#x2F;td&gt;&lt;td&gt;可见 NPU 设备列表，暴露全部 8 张卡&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_P2P_DISABLE&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;不禁用 P2P（点对点）通信，启用 NPU 间直接数据传输&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_IF_BASE_PORT&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;50000&lt;&#x2F;td&gt;&lt;td&gt;HCCL 通信起始端口&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Ray 集群资源&lt;&#x2F;strong&gt;：Head 节点启动后显示集群有 &lt;strong&gt;384 CPU、16 GPU、16 NPU、2.63TiB 内存&lt;&#x2F;strong&gt;。注意 GPU 和 NPU 都显示 16（双机合计），TPU 的 2.0 是 Ray 对未知加速器的默认检测（可忽略）。此时 Head 节点已就绪，等待 Worker 节点加入。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;h3 id=&quot;ray-worker-jie-dian-jia-ru&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#ray-worker-jie-dian-jia-ru&quot; aria-label=&quot;Anchor link for: ray-worker-jie-dian-jia-ru&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
Ray Worker 节点加入&lt;&#x2F;h3&gt;
&lt;p&gt;在第二台机器（&lt;code&gt;atlas-02&lt;&#x2F;code&gt;，IP: 10.0.0.5）上配置环境变量并加入集群：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_IF_IP&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;10.0.0.5&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;eno0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; RAY_EXPERIMENTAL_NOSET_ASCEND_RT_VISIBLE_DEVICES&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ASCEND_RT_VISIBLE_DEVICES&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;0,1,2,3,4,5,6,7&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_P2P_DISABLE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-02:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt; ray start --address=&amp;#39;10.0.0.6:6379&amp;#39; --node-ip-address=10.0.0.5 --num-gpus=8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Local&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; node IP:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 10.0.0.5&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;2026-08-31&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 01:22:22,139 - INFO - Failed to auto-detect TPU type.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;2026-08-31&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 01:22:22,143 - INFO - Failed to configure TPU pod. Got: tpu_name: None, worker_id: None, accelerator_type: None&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;2026-08-31 01:22:22,164 W &lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;169&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; 169&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; global_state_accessor.cc:435: Retrying to get node with node ID b9434c9fa32f41a47c6f450a08b76d1f358b0002cbe7babee773f5e8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;--------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Ray&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; runtime started.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;--------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;To&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; terminate the Ray runtime, run&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;  ray&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; stop&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Worker 节点成功加入集群。回到 Head 节点查看集群状态：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; ray status&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;======== Autoscaler status: 2026-08-31 01:22:29.001024 ========&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Node&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; status&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;---------------------------------------------------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Active:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; node_b9434c9fa32f41a47c6f450a08b76d1f358b0002cbe7babee773f5e8&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; node_0c2a8d8fb57354c14c2917f5752bb2993c1c2811a3c9a3d2b39e511f&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Pending:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;no&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pending nodes&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Recent&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; failures:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;no&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; failures&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Resources&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;---------------------------------------------------------------&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; Usage:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0.0&#x2F;384.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; CPU&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0.0&#x2F;16.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; GPU&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0.0&#x2F;16.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; NPU&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0.0&#x2F;2.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; TPU&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0B&#x2F;2.63TiB&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; memory&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 0B&#x2F;372.53GiB&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; object_store_memory&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; Constraints:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;no&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; request_resources&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;()&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; constraints&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Total&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; Demands:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;no&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; resource demands&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@ctyun-gpu-atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;集群显示 2 个 Active 节点，16 NPU 资源全部可用。双机 Ray 集群搭建完毕。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;qi-dong-pp2-tp8-duo-jie-dian-tui-li&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#qi-dong-pp2-tp8-duo-jie-dian-tui-li&quot; aria-label=&quot;Anchor link for: qi-dong-pp2-tp8-duo-jie-dian-tui-li&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
启动 PP2 + TP8 多节点推理&lt;&#x2F;h3&gt;
&lt;p&gt;Ray 集群就绪后，在 Head 节点启动 vLLM 服务，配置 &lt;strong&gt;流水线并行 PP=2&lt;&#x2F;strong&gt;（模型按层切分到两台机器）+ &lt;strong&gt;张量并行 TP=8&lt;&#x2F;strong&gt;（每台机器内部 8 卡张量并行）：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;source&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;ascend-toolkit&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;source&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;nnal&#x2F;atb&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; OMP_NUM_THREADS&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;10&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; PYTORCH_NPU_ALLOC_CONF&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;expandable_segments:True&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; TASK_QUEUE_ENABLE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_BUFFSIZE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1024&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_OP_EXPANSION_MODE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;AIV&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;bond0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_IF_IP&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;100.97.170.13&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_P2P_DISABLE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;vllm&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; serve &#x2F;mnt&#x2F;models&#x2F;Eco-Tech&#x2F;DeepSeek-V4-Flash-0731-w8a8&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --host&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0.0.0.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --port&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8000&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --distributed-executor-backend ray&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --pipeline-parallel-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --served-model-name dsv4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tensor-parallel-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --quantization ascend&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-model-len&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1048576&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-num-seqs&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 128&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-num-batched-tokens&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8192&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --gpu-memory-utilization&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0.9&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --block-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 128&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --trust-remote-code&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tokenizer-mode deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tool-call-parser deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-auto-tool-choice&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --reasoning-parser deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-prefix-caching&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --no-disable-hybrid-kv-cache-manager&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;    --compilation-config &amp;#39;{&amp;quot;cudagraph_mode&amp;quot;: &amp;quot;FULL_DECODE_ONLY&amp;quot;}&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --async-scheduling&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;关键新增参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--distributed-executor-backend&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;ray&lt;&#x2F;td&gt;&lt;td&gt;使用 Ray 作为分布式执行后端，替代默认的 MP（多进程）方式。Ray 提供更灵活的跨节点调度能力&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--pipeline-parallel-size&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;2&lt;&#x2F;td&gt;&lt;td&gt;流水线并行度 2，将模型按 Transformer 层切分到 2 个 stage（对应两台机器）。Stage 0 在 atlas-01，Stage 1 在 atlas-02&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--max-num-seqs&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;128&lt;&#x2F;td&gt;&lt;td&gt;相比单机的 32 提升到 128，双机有更多显存可容纳更多并发&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_SOCKET_IFNAME=bond0&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;bond0&lt;&#x2F;td&gt;&lt;td&gt;多节点场景下使用 bond0（链路聚合接口）进行 HCCL 通信，提供更高带宽和冗余&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;OMP_NUM_THREADS=10&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;10&lt;&#x2F;td&gt;&lt;td&gt;降低 OMP 线程数，因为双机总 CPU 核数更多，每进程分配较少线程避免过度竞争&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;qi-dong-cheng-gong-ri-zhi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#qi-dong-cheng-gong-ri-zhi&quot; aria-label=&quot;Anchor link for: qi-dong-cheng-gong-ri-zhi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
启动成功日志&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;) (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;RayWorkerProc&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=732, ip=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;10.0.0.5&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;) (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Worker_PP1_TP7&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;732&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:36&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [cpu_binding.py:641] NPU7: main&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;[98&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; 99&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 141]  acl=[142]  release=[[143]]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [repeated&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 10x across cluster]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;) (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;RayWorkerProc&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=428, ip=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;10.0.0.5&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;) (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Worker_PP1_TP1&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;428&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:36&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [cpu_binding.py:667] &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;migrate&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; NPU:1 -&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; NUMA &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;0&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;] [&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;repeated 13x across cluster&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;) (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;RayWorkerProc&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=428, ip=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;10.0.0.5&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;) (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;Worker_PP1_TP1&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;428&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; WARNING&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:39&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [worker.py:763] Bind cpus failed in rank1: &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;Errno 2&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; No such file or directory: &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;&#x2F;proc&#x2F;irq&#x2F;971&#x2F;smp_affinity&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; Skip binding cpu.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:40&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [core.py:337] init engine (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;profile,&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; create kv cache, warmup model&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;) took 121.36 s (&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;compilation:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 19.69&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; s&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:41&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [ascend_config.py:824] Dynamic EPLB is False&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:41&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [ascend_config.py:825] The number of redundant experts is 0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:43&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [vllm.py:1042] Asynchronous scheduling is enabled.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:43&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [kernel.py:292] Final IR op priority after setting platform defaults: IrOpPriorityConfig(rms_norm&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;[&amp;#39;native&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;], fused_add_rms_norm&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;[&amp;#39;native&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;])&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; WARNING&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:43&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [utils.py:1246] For deepseek_v4 model, block size should be 32, 64 or 128. Setting block size to 32 &lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; better performance.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:43&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [platform.py:771] Set PYTORCH_NPU_ALLOC_CONF&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;expandable_segments:True&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;EngineCore&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1165&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:43&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [compilation.py:312] Enabled custom fusions: norm_quant, act_quant&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;APIServer&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;863&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:43&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [api_server.py:612] Supported tasks: &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;generate&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;APIServer&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;863&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; INFO&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:44&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [parser_manager.py:37] &lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;auto&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; tool choice has been enabled.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;APIServer&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; pid=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;863&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; WARNING&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; 08-31 01:29:44&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; [model.py:1528] Default vLLM sampling parameters have been overridden by the model&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;s `generation_config.json`: `{&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;temperature&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;: 1.0, &amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;top_p&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;#39;: 1.0}`. If this is not intended, please relaunch vLLM instance with `--generation-config vllm`.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [api_server.py:616] Starting vLLM server on http:&#x2F;&#x2F;0.0.0.0:8000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:37] Available routes are:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;openapi.json, Methods: GET, HEAD&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;docs, Methods: GET, HEAD&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;docs&#x2F;oauth2-redirect, Methods: GET, HEAD&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;redoc, Methods: GET, HEAD&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;load, Methods: GET&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;version, Methods: GET&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;health, Methods: GET&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;metrics, Methods: GET&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;tokenize, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;detokenize, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;models, Methods: GET&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;ping, Methods: GET&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;ping, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;invocations, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;chat&#x2F;completions, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;chat&#x2F;completions&#x2F;batch, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;responses, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;responses&#x2F;{response_id}, Methods: GET&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;responses&#x2F;{response_id}&#x2F;cancel, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;completions, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;messages, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;messages&#x2F;count_tokens, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;generative_scoring, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;scale_elastic_ep, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;is_scaling_elastic_ep, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;chat&#x2F;completions&#x2F;render, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;completions&#x2F;render, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;chat&#x2F;completions&#x2F;derender, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;v1&#x2F;completions&#x2F;derender, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO 08-31 01:29:44 [launcher.py:46] Route: &#x2F;inference&#x2F;v1&#x2F;generate, Methods: POST&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO:     Started server process [863]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO:     Waiting for application startup.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;(APIServer pid=863) INFO:     Application startup complete.&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;blog.kali-team.cn&#x2F;blog&#x2F;2026&#x2F;09&#x2F;%E5%8F%8C%E6%9C%BA%20Atlas%20800T%20A2%20%E9%83%A8%E7%BD%B2%E5%A4%A7%E6%A8%A1%E5%9E%8B&#x2F;vllm_routes.png&quot; alt=&quot;图 3：PP2+TP8 多节点 vLLM 服务启动成功（tmux 会话截图）&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;启动过程解读&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;CPU 绑定&lt;&#x2F;strong&gt;：vLLM 自动将每张 NPU 的计算线程绑定到特定 CPU 核心以减少跨 NUMA 访问延迟。日志显示 NPU7 绑定到 CPU 核 98-141，ACL 线程在核 142。部分 rank 因 &lt;code&gt;&#x2F;proc&#x2F;irq&lt;&#x2F;code&gt; 文件不存在而跳过绑定（WARNING 级别，不影响运行）。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;引擎初始化&lt;&#x2F;strong&gt;：耗时 121.36 秒（其中编译 19.69 秒），包括 KV Cache 创建和模型预热。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Block Size 调整&lt;&#x2F;strong&gt;：vLLM 自动将 block size 从 128 调整为 32 以获得更好性能（DeepSeek V4 模型的推荐值）。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;服务就绪&lt;&#x2F;strong&gt;：&lt;code&gt;Application startup complete&lt;&#x2F;code&gt; 表示多节点推理服务已成功启动，注册了包括 &lt;code&gt;&#x2F;v1&#x2F;chat&#x2F;completions&lt;&#x2F;code&gt;、&lt;code&gt;&#x2F;v1&#x2F;completions&lt;&#x2F;code&gt;、&lt;code&gt;&#x2F;v1&#x2F;messages&lt;&#x2F;code&gt; 等 OpenAI 兼容路由。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;shu-ju-bing-xing-dp-bu-shu&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#shu-ju-bing-xing-dp-bu-shu&quot; aria-label=&quot;Anchor link for: shu-ju-bing-xing-dp-bu-shu&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
数据并行（DP）部署&lt;&#x2F;h2&gt;
&lt;p&gt;PP2+TP8 虽然能跨双机运行模型，但流水线并行的 bubble 开销较大。另一种方案是&lt;strong&gt;数据并行（DP）&lt;&#x2F;strong&gt;——每台机器独立运行一份完整的 TP8 推理实例，通过数据并行在两台机器间分配请求，实现吞吐翻倍。&lt;&#x2F;p&gt;
&lt;p&gt;以下配置使用 &lt;code&gt;eno0&lt;&#x2F;code&gt; 网卡接口，在两台机器上分别启动 vLLM 进程，通过 DP RPC 端口协调。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;jie-dian-1-atlas-01-pei-zhi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#jie-dian-1-atlas-01-pei-zhi&quot; aria-label=&quot;Anchor link for: jie-dian-1-atlas-01-pei-zhi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
节点 1（atlas-01）配置&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;source&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;ascend-toolkit&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;source&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;nnal&#x2F;atb&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;nic_name&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;eno0&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;local_ip&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;10.0.0.6&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;node0_ip&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;10.0.0.6&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_OP_EXPANSION_MODE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;AIV&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_IF_IP&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt;$local_ip&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; GLOO_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt;$nic_name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; TP_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt;$nic_name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt;$nic_name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_TRANSFER_TIMEOUT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;600&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_EXEC_TIMEOUT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;3600&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_CONNECT_TIMEOUT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;3600&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; OMP_PROC_BIND&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ASCEND_RT_VISIBLE_DEVICES&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;0,1,2,3,4,5,6,7&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; OMP_NUM_THREADS&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_BUFFSIZE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1024&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; PYTORCH_NPU_ALLOC_CONF&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;expandable_segments:True&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; VLLM_RPC_TIMEOUT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1200&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_P2P_DISABLE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ATB_OPERATION_EXECUTE_ASYNC&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; NPU_MEMORY_FRACTION&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0.95&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_DETERMINISTIC&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; INF_NAN_MODE_ENABLE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sysctl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -w vm.swappiness=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sysctl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -w kernel.numa_balancing=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sysctl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; kernel.sched_migration_cost_ns=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;50000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;vllm&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; serve &#x2F;mnt&#x2F;models&#x2F;Eco-Tech&#x2F;DeepSeek-V4-Flash-0731-w8a8&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --host&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0.0.0.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --port&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8077&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --safetensors-load-strategy prefetch&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --api-server-count&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tensor-parallel-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-size-local&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-start-rank&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-address&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $node0_ip&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-rpc-port&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 12980&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-expert-parallel&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enforce-eager&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-prefix-caching&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --disable-custom-all-reduce&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --quantization ascend&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-model-len&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 32768&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-num-seqs&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 16&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-num-batched-tokens&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8192&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --gpu-memory-utilization&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0.90&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --trust-remote-code&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --api-server-count&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --served-model-name dsv4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tokenizer-mode deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tool-call-parser deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-auto-tool-choice&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --block-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 128&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --reasoning-parser deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;    --compilation-config &amp;#39;{&amp;quot;cudagraph_mode&amp;quot;: &amp;quot;FULL_DECODE_ONLY&amp;quot;}&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --async-scheduling&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;jie-dian-2-atlas-02-pei-zhi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#jie-dian-2-atlas-02-pei-zhi&quot; aria-label=&quot;Anchor link for: jie-dian-2-atlas-02-pei-zhi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
节点 2（atlas-02）配置&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;source&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;ascend-toolkit&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;source&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;Ascend&#x2F;nnal&#x2F;atb&#x2F;set_env.sh&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;nic_name&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;eno0&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;local_ip&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;10.0.0.5&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;node0_ip&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;10.0.0.6&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_OP_EXPANSION_MODE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;AIV&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_IF_IP&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt;$local_ip&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; GLOO_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt;$nic_name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; TP_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt;$nic_name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_SOCKET_IFNAME&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt;$nic_name&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_TRANSFER_TIMEOUT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;600&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_EXEC_TIMEOUT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;3600&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_CONNECT_TIMEOUT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;3600&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; OMP_PROC_BIND&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ASCEND_RT_VISIBLE_DEVICES&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;0,1,2,3,4,5,6,7&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; OMP_NUM_THREADS&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_BUFFSIZE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1024&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; PYTORCH_NPU_ALLOC_CONF&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;expandable_segments:True&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; VLLM_RPC_TIMEOUT&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1200&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-modifier&quot;&gt;export&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; HCCL_P2P_DISABLE&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sysctl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -w vm.swappiness=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sysctl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; -w kernel.numa_balancing=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;sysctl&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; kernel.sched_migration_cost_ns=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;50000&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;vllm&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; serve &#x2F;mnt&#x2F;models&#x2F;Eco-Tech&#x2F;DeepSeek-V4-Flash-0731-w8a8&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --host&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0.0.0.0&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --port&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8078&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --headless&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tensor-parallel-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 2&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-size-local&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-start-rank&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 1&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-address&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-variable z-source&quot;&gt; $node0_ip&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --data-parallel-rpc-port&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 12980&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-expert-parallel&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enforce-eager&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-prefix-caching&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --disable-custom-all-reduce&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --quantization ascend&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --block-size&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 128&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-model-len&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 32768&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-num-seqs&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 16&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --max-num-batched-tokens&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 8192&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --gpu-memory-utilization&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0.90&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --trust-remote-code&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --api-server-count&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt; 0&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --served-model-name dsv4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tokenizer-mode deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --tool-call-parser deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --enable-auto-tool-choice&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --reasoning-parser deepseek_v4&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string z-punctuation z-definition z-string&quot;&gt;    --compilation-config &amp;#39;{&amp;quot;cudagraph_mode&amp;quot;: &amp;quot;FULL_DECODE_ONLY&amp;quot;}&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt; \&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-string&quot;&gt;    --async-scheduling&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;DP 关键参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;节点1&lt;&#x2F;th&gt;&lt;th&gt;节点2&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--port&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;8077&lt;&#x2F;td&gt;&lt;td&gt;8078&lt;&#x2F;td&gt;&lt;td&gt;各节点独立端口&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--data-parallel-size&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;2&lt;&#x2F;td&gt;&lt;td&gt;2&lt;&#x2F;td&gt;&lt;td&gt;数据并行总数 2（两台机器各 1 个 DP rank）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--data-parallel-size-local&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;每台机器本地 DP 副本数 1&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--data-parallel-start-rank&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;本节点的 DP rank 起始编号。节点1 为 rank 0，节点2 为 rank 1&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--data-parallel-address&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;10.0.0.6&lt;&#x2F;td&gt;&lt;td&gt;10.0.0.6&lt;&#x2F;td&gt;&lt;td&gt;DP 协调地址（指向 Head 节点 IP）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--data-parallel-rpc-port&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;12980&lt;&#x2F;td&gt;&lt;td&gt;12980&lt;&#x2F;td&gt;&lt;td&gt;DP RPC 通信端口，两节点必须一致&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--headless&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;无&lt;&#x2F;td&gt;&lt;td&gt;有&lt;&#x2F;td&gt;&lt;td&gt;节点2 设为 headless 模式，不启动 API Server，仅作为推理 Worker&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--api-server-count&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;节点1 启动 1 个 API Server；节点2 不启动 API Server&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--enforce-eager&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;强制 eager 模式，禁用 cudagraph，DP 场景下更稳定&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--disable-custom-all-reduce&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;禁用自定义 all-reduce，DP 不需要跨节点梯度同步&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--max-model-len&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;32768&lt;&#x2F;td&gt;&lt;td&gt;32768&lt;&#x2F;td&gt;&lt;td&gt;DP 模式下降低上下文长度到 32K 以节省显存&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;p&gt;&lt;strong&gt;DP 环境变量说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;环境变量&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;GLOO_SOCKET_IFNAME&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;eno0&lt;&#x2F;td&gt;&lt;td&gt;Gloo 通信后端使用的网卡（PyTorch 分布式通信库）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;TP_SOCKET_IFNAME&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;eno0&lt;&#x2F;td&gt;&lt;td&gt;张量并行通信使用的网卡&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_P2P_DISABLE=1&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;DP 模式禁用 P2P（与 PP 模式不同），因跨节点无 P2P 硬件支持&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;ATB_OPERATION_EXECUTE_ASYNC=1&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1&lt;&#x2F;td&gt;&lt;td&gt;Ascend Transformer Boost 异步执行，提升算子并行度&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;NPU_MEMORY_FRACTION=0.95&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0.95&lt;&#x2F;td&gt;&lt;td&gt;NPU 内存使用上限 95%，比 vLLM 的 gpu-memory-utilization 更底层&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_TRANSFER_TIMEOUT&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;600&lt;&#x2F;td&gt;&lt;td&gt;HCCL 传输超时 600 秒&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;HCCL_EXEC_TIMEOUT&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;3600&lt;&#x2F;td&gt;&lt;td&gt;HCCL 执行超时 1 小时&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;VLLM_RPC_TIMEOUT&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;1200&lt;&#x2F;td&gt;&lt;td&gt;vLLM RPC 超时 20 分钟&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;vm.swappiness=0&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;禁用 swap，避免内存交换导致性能下降&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;kernel.numa_balancing=0&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;禁用 NUMA 自动平衡，手动控制 CPU 绑定&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;sched_migration_cost_ns=50000&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;50000&lt;&#x2F;td&gt;&lt;td&gt;任务迁移成本 50us，减少不必要的 CPU 间任务迁移&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;DP vs PP 对比&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;数据并行（DP）&lt;&#x2F;strong&gt;：每台机器独立运行完整模型，请求在两个实例间均衡分配，吞吐接近翻倍。无需跨节点传输中间激活值，延迟更低。但每台机器需完整加载模型权重，显存需求与单机相同。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;流水线并行（PP）&lt;&#x2F;strong&gt;：模型按层切分到两台机器，每台只需一半权重，显存减半。但存在流水线 bubble，且 Stage 间需传输中间激活，增加延迟。适合显存不足时使用。&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;zhi-lian-tong-xin-bug-xiu-fu&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#zhi-lian-tong-xin-bug-xiu-fu&quot; aria-label=&quot;Anchor link for: zhi-lian-tong-xin-bug-xiu-fu&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
直连通信 BUG 修复&lt;&#x2F;h2&gt;
&lt;p&gt;在 DP 部署过程中遇到了一个 MoE（Mixture of Experts）通信方式的 BUG。DeepSeek V4 是 MoE 模型，多个专家之间的通信方式选择不当会导致通信异常。需要手动修改 vllm-ascend 源码强制使用 ALLGATHER 通信方式。&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;root@atlas-01:&#x2F;workspace#&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; vim &#x2F;vllm-workspace&#x2F;vllm-ascend&#x2F;vllm_ascend&#x2F;ascend_forward_context.py&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;    找到select_moe_comm_method方法在return前设置&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;    moe_comm_type&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;MoECommType.ALLGATHER&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;    return&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; moe_comm_type&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;BUG 修复说明&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;p&gt;在 &lt;code&gt;ascend_forward_context.py&lt;&#x2F;code&gt; 文件的 &lt;code&gt;select_moe_comm_method&lt;&#x2F;code&gt; 方法中，在 &lt;code&gt;return&lt;&#x2F;code&gt; 前强制设置 &lt;code&gt;moe_comm_type=MoECommType.ALLGATHER&lt;&#x2F;code&gt;。这覆盖了原有的自动选择逻辑，确保 MoE 专家间通信用 ALLGATHER 模式，避免在多节点 DP 场景下出现直连通信不可用的问题。&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;MoECommType.ALLGATHER&lt;&#x2F;strong&gt;：所有专家的输出通过 AllGather 操作汇总，相比 P2P 直连方式更稳定，但通信量稍大。在跨节点场景下，P2P 直连可能因网络拓扑限制而失败，ALLGATHER 是更安全的选择。&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;ais-bench-ji-zhun-ce-shi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#ais-bench-ji-zhun-ce-shi&quot; aria-label=&quot;Anchor link for: ais-bench-ji-zhun-ce-shi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
ais_bench 基准测试&lt;&#x2F;h2&gt;
&lt;p&gt;除了 vLLM 内置的压测工具，还使用华为官方的 &lt;strong&gt;ais_bench&lt;&#x2F;strong&gt; 基准测试框架进行评测。ais_bench 提供标准化的数据集和评测流程，可以对比不同模型的性能表现。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;an-zhuang-ais-bench&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#an-zhuang-ais-bench&quot; aria-label=&quot;Anchor link for: an-zhuang-ais-bench&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
安装 ais_bench&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;pip3&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; install ais_bench_benchmark&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;pei-zhi-mo-xing-jie-kou&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#pei-zhi-mo-xing-jie-kou&quot; aria-label=&quot;Anchor link for: pei-zhi-mo-xing-jie-kou&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
配置模型接口&lt;&#x2F;h3&gt;
&lt;p&gt;修改 ais_bench 的 vLLM API 流式对话配置文件，指定模型路径、API 地址和生成参数：&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;vim&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;python3.12.13&#x2F;lib&#x2F;python3.12&#x2F;site-packages&#x2F;ais_bench&#x2F;benchmark&#x2F;configs&#x2F;models&#x2F;vllm_api&#x2F;vllm_api_stream_chat.py&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;python&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;from&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ais_bench&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;benchmark&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;models&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; import&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; VLLMCustomAPIChat&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;from&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; ais_bench&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;benchmark&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;utils&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;postprocess&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt;model_postprocessors&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; import&lt;&#x2F;span&gt;&lt;span class=&quot;z-source&quot;&gt; extract_non_reasoning_content&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-source&quot;&gt;models&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt; [&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-type z-python&quot;&gt;    dict&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        attr&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;service&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        type&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-python&quot;&gt;VLLMCustomAPIChat&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        abbr&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;vllm-api-stream-chat&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        path&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;&#x2F;mnt&#x2F;models&#x2F;Eco-Tech&#x2F;DeepSeek-V4-Flash-0731-w8a8&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        model&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;dsv4&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        stream&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-python&quot;&gt;False&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        request_rate&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        use_timestamp&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-python&quot;&gt;False&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        retry&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;2&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        api_key&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;your-api-key&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        host_ip&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string z-string&quot;&gt;&amp;quot;127.0.0.1&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        host_port&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;8000&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        url&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        max_out_len&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;512&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        batch_size&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;1&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        trust_remote_code&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-python&quot;&gt;False&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        generation_kwargs&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-type z-python&quot;&gt;dict&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;            temperature&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-numeric&quot;&gt;0.01&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;            ignore_eos&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-language z-python&quot;&gt;False&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;        ),&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;        pred_postprocessor&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-support z-type z-python&quot;&gt;dict&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-parameter&quot;&gt;type&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword z-operator&quot;&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-meta z-function-call z-arguments z-python&quot;&gt;extract_non_reasoning_content&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt;),&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;    )&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation&quot;&gt;]&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;配置参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;type=VLLMCustomAPIChat&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;使用 ais_bench 内置的 vLLM 自定义 API 客户端&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;path&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;模型路径&lt;&#x2F;td&gt;&lt;td&gt;本地模型权重路径，用于 tokenizer 初始化&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;model&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;dsv4&lt;&#x2F;td&gt;&lt;td&gt;API 请求中的模型名（对应 vLLM 的 served-model-name）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;stream=False&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;False&lt;&#x2F;td&gt;&lt;td&gt;关闭流式响应，等待完整输出再返回&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;request_rate=0&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0&lt;&#x2F;td&gt;&lt;td&gt;请求发送速率为 0，表示不限制（尽快发送）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;retry=2&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;2&lt;&#x2F;td&gt;&lt;td&gt;失败重试次数&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;max_out_len=512&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;512&lt;&#x2F;td&gt;&lt;td&gt;最大输出长度 512 tokens&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;temperature=0.01&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;0.01&lt;&#x2F;td&gt;&lt;td&gt;极低温度，接近贪婪解码，确保结果确定性&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;pred_postprocessor&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;extract_non_reasoning_content&lt;&#x2F;td&gt;&lt;td&gt;后处理器：提取非推理内容，过滤掉思维链部分&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;h3 id=&quot;xia-zai-gsm8k-shu-ju-ji&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#xia-zai-gsm8k-shu-ju-ji&quot; aria-label=&quot;Anchor link for: xia-zai-gsm8k-shu-ju-ji&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
下载 GSM8K 数据集&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# 进入 ais_bench 的数据集目录&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-support z-function z-builtin&quot;&gt;cd&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;usr&#x2F;local&#x2F;python3.12.13&#x2F;lib&#x2F;python3.12&#x2F;site-packages&#x2F;ais_bench&#x2F;datasets&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# 下载 GSM8K 数据集（如果 wget 不可用，可以改用 curl -O）&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;wget&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; http:&#x2F;&#x2F;opencompass.oss-cn-shanghai.aliyuncs.com&#x2F;datasets&#x2F;data&#x2F;gsm8k.zip&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;apt&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; update&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt; &amp;amp;&amp;amp;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; apt&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; install -y unzip&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation&quot;&gt; &amp;amp;&amp;amp;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt; unzip&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gsm8k.zip&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# 解压&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment z-comment&quot;&gt;# 验证文件是否解压成功（应该能看到 test.jsonl 等文件）&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ls&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; gsm8k&#x2F;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;GSM8K&lt;&#x2F;strong&gt; 是一个包含 8500 道小学数学应用题的数据集，广泛用于评估大语言模型的数学推理能力。&lt;&#x2F;p&gt;
&lt;h3 id=&quot;yun-xing-ji-zhun-ce-shi&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#yun-xing-ji-zhun-ce-shi&quot; aria-label=&quot;Anchor link for: yun-xing-ji-zhun-ce-shi&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
运行基准测试&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-function&quot;&gt;ais_bench&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; --models vllm_api_stream_chat   --datasets gsm8k_gen_0_shot_cot_str_perf   --debug --summarizer default_perf --mode perf&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;ais_bench 参数说明：&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;&#x2F;th&gt;&lt;th&gt;值&lt;&#x2F;th&gt;&lt;th&gt;说明&lt;&#x2F;th&gt;&lt;&#x2F;tr&gt;&lt;&#x2F;thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--models&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;vllm_api_stream_chat&lt;&#x2F;td&gt;&lt;td&gt;使用刚才配置的 vLLM API 模型&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--datasets&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;gsm8k_gen_0_shot_cot_str_perf&lt;&#x2F;td&gt;&lt;td&gt;GSM8K 数据集，0-shot CoT（思维链）性能模式&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--debug&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;-&lt;&#x2F;td&gt;&lt;td&gt;调试模式，输出详细日志&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--summarizer&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;default_perf&lt;&#x2F;td&gt;&lt;td&gt;使用默认性能摘要器，输出吞吐和延迟统计&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;tr&gt;&lt;td&gt;&lt;code&gt;--mode&lt;&#x2F;code&gt;&lt;&#x2F;td&gt;&lt;td&gt;perf&lt;&#x2F;td&gt;&lt;td&gt;性能评测模式（非准确率模式）&lt;&#x2F;td&gt;&lt;&#x2F;tr&gt;
&lt;&#x2F;tbody&gt;&lt;&#x2F;table&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;can-kao-zi-liao&quot;&gt;&lt;a class=&quot;header-anchor no-hover-padding&quot; href=&quot;#can-kao-zi-liao&quot; aria-label=&quot;Anchor link for: can-kao-zi-liao&quot;&gt;&lt;span class=&quot;link-icon&quot; aria-hidden=&quot;true&quot;&gt;&lt;&#x2F;span&gt;&lt;&#x2F;a&gt;
参考资料&lt;&#x2F;h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.vllm.ai&#x2F;projects&#x2F;ascend&#x2F;en&#x2F;latest&#x2F;tutorials&#x2F;models&#x2F;GLM5.2.html#41-docker-image-installation&quot;&gt;vLLM Ascend GLM5.2 部署教程 - Docker 镜像安装&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;modelscope.cn&#x2F;organization&#x2F;Eco-Tech?tab=collection&quot;&gt;ModelScope Eco-Tech 模型集合 - DeepSeek V4 Flash&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.vllm.ai&#x2F;projects&#x2F;ascend&#x2F;en&#x2F;latest&#x2F;tutorials&#x2F;models&#x2F;GLM5.2.html#51-context-below-1m&quot;&gt;vLLM Ascend GLM5.2 部署教程 - 上下文配置&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vllm-project&#x2F;vllm-ascend&#x2F;blob&#x2F;7cb4cd119c7772b0286feffa6de41527f4c864c5&#x2F;docs&#x2F;source&#x2F;installation.md&quot;&gt;vllm-ascend 安装文档 (GitHub)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.vllm.ai&#x2F;projects&#x2F;ascend&#x2F;en&#x2F;latest&#x2F;installation.html&quot;&gt;vLLM Ascend 官方安装指南&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;ai.gitcode.com&#x2F;Ascend-SACT&#x2F;DeepSeek-V4-Flash-0731-w8a8&quot;&gt;DeepSeek V4 Flash W8A8 量化模型 (GitCode)&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.vllm.com.cn&#x2F;en&#x2F;latest&#x2F;serving&#x2F;expert_parallel_deployment&#x2F;#layer-behavior-with-ep-enabled&quot;&gt;vLLM 专家并行部署文档&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.vllm.com.cn&#x2F;en&#x2F;latest&#x2F;serving&#x2F;parallelism_scaling&#x2F;#troubleshooting-distributed-deployments&quot;&gt;vLLM 并行扩展与分布式部署问题排查&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a class=&quot;external&quot; rel=&quot;noopener nofollow noreferrer external&quot; target=&quot;_blank&quot; href=&quot;https:&#x2F;&#x2F;docs.vllm.com.cn&#x2F;en&#x2F;latest&#x2F;serving&#x2F;distributed_troubleshooting&#x2F;#ray-observability&quot;&gt;vLLM 分布式故障排查 - Ray 可观测性&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
</content>
        <summary type="html">双机 Atlas 800T A2 部署大模型</summary>
        </entry>
</feed>
