解决昇腾910B多容器部署Qwen3.6-27b引发的HCCL通信端口冲突问题
环境华为昇腾910B × 8 | vLLM-Ascend v0.20.2rc1 | Docker问题同一台机器启动多个Docker容器运行TP并行推理时HCCL通信端口冲突导致初始化失败一、问题背景在单台8卡昇腾910B服务器上需要同时部署以下模型服务模型用途NPU卡端口TP数BGE-M3向量0号70071Qwen3.6-27B-W8A8视觉/短文本0~3号90094Qwen3.6-27B-W8A8长文本4~7号60064其中视觉模型和长文本模型都使用了 tensor-parallel-size4即4卡张量并行。TP依赖HCCL华为集合通信库对标NCCL在worker进程间建立通信组。报错现象span stylebackground-color:#e1e1e1[ERROR] HCCL: Socket bind failed, address already in use [ERROR] HCCL: Failed to create communicator/span二、问题根因HCCL初始化时会分配Socket端口用于建立卡间通信连接。多个容器/进程同时启动TP推理时如果HCCL分配的端口重叠就会绑定冲突。NVIDIA NCCL在多容器场景通常能自动避让端口冲突但昇腾HCCL不支持自动端口分配必须手动指定互不重叠的端口范围。三、解决方案3.1 核心环境变量HCCL_NPU_SOCKET_PORT_RANGE为每个需要HCCL通信的进程分配独立的、不重叠的端口区间# 容器1 - BGE-M3单卡无TP但仍需预留端口 HCCL_NPU_SOCKET_PORT_RANGE16666-16676 # 容器1 - Qwen视觉模型4卡TP HCCL_NPU_SOCKET_PORT_RANGE16677-16687 # 容器2 - Qwen长文本模型4卡TP HCCL_NPU_SOCKET_PORT_RANGE16688-16698/span端口区间示意16666 ──── 16676 BGE-M3单卡预留 16677 ──── 16687 Qwen视觉模型TP4 16688 ──── 16698 Qwen长文本模型TP4 16699 ──── 16709 预留如需第3个TP实例/span3.2 NPU卡隔离ASCEND_RT_VISIBLE_DEVICES通过运行时环境变量限制每个进程可见的NPU设备等价于NVIDIA的 CUDA_VISIBLE_DEVICES# BGE-M3只用0号卡 ASCEND_RT_VISIBLE_DEVICES0 # 视觉模型用0~3号卡 ASCEND_RT_VISIBLE_DEVICES0,1,2,3 # 长文本模型用4~7号卡 ASCEND_RT_VISIBLE_DEVICES4,5,6,7/span3.3 完整 docker-compose.ymlservices: # 容器1BGE-M3 Qwen视觉模型0~3号卡 model-emb-vl: image: quay.io/ascend/vllm-ascend:v0.20.2rc1 restart: always privileged: true environment: HCCL_BUFFSIZE: 512 OMP_PROC_BIND: false OMP_NUM_THREADS: 1 TASK_QUEUE_ENABLE: 1 PYTORCH_NPU_ALLOC_CONF: expandable_segments:True ports: - 7007:7007 - 9009:9009 devices: - /dev/davinci0 - /dev/davinci1 - /dev/davinci2 - /dev/davinci3 - /dev/davinci4 - /dev/davinci5 - /dev/davinci6 - /dev/davinci7 - /dev/davinci_manager - /dev/devmm_svm - /dev/hisi_hdc volumes: - /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro - /usr/local/dcmi:/usr/local/dcmi:ro - /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro - /disk2/bge-m3:/models/bge-m3 - /disk2/Qwen3.6-27B-w8a8:/models/Qwen3.6-27B-w8a8 entrypoint: - /bin/bash - -lc - | # BGE-M3单卡 HCCL_NPU_SOCKET_PORT_RANGE16666-16676 \ ASCEND_RT_VISIBLE_DEVICES0 \ vllm serve /models/bge-m3 \ --served-model-name bge-m3 \ --port 7007 --host 0.0.0.0 \ --gpu-memory-utilization 0.1 \ --max-model-len 8192 # Qwen视觉模型TP4 HCCL_NPU_SOCKET_PORT_RANGE16677-16687 \ ASCEND_RT_VISIBLE_DEVICES0,1,2,3 \ VLLM_WORKER_MULTIPROC_METHODspawn \ vllm serve /models/Qwen3.6-27B-w8a8 \ --served-model-name qwen-vl \ --port 9009 --host 0.0.0.0 \ --tensor-parallel-size 4 \ --quantization ascend \ --max-model-len 25000 \ --max-num-seqs 10 \ --gpu-memory-utilization 0.85 \ --trust-remote-code \ --no-enable-prefix-caching wait shm_size: 10.24gb ipc: host # 容器2Qwen长文本模型4~7号卡 model-text: image: quay.io/ascend/vllm-ascend:v0.20.2rc1 restart: always privileged: true environment: HCCL_BUFFSIZE: 512 OMP_PROC_BIND: false OMP_NUM_THREADS: 1 TASK_QUEUE_ENABLE: 1 PYTORCH_NPU_ALLOC_CONF: expandable_segments:True ports: - 6006:6006 devices: - /dev/davinci0 - /dev/davinci1 - /dev/davinci2 - /dev/davinci3 - /dev/davinci4 - /dev/davinci5 - /dev/davinci6 - /dev/davinci7 - /dev/davinci_manager - /dev/devmm_svm - /dev/hisi_hdc volumes: - /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro - /usr/local/dcmi:/usr/local/dcmi:ro - /usr/local/bin/npu-smi:/usr/local/bin/npu-smi:ro - /disk2/Qwen3.6-27B-w8a8:/models/Qwen3.6-27B-w8a8 entrypoint: - /bin/bash - -lc - | HCCL_NPU_SOCKET_PORT_RANGE16688-16698 \ ASCEND_RT_VISIBLE_DEVICES4,5,6,7 \ vllm serve /models/Qwen3.6-27B-w8a8 \ --served-model-name qwen-long \ --port 6006 --host 0.0.0.0 \ --tensor-parallel-size 4 \ --quantization ascend \ --max-model-len 100000 \ --max-num-seqs 2 \ --gpu-memory-utilization 0.90 \ --trust-remote-code \ --no-enable-prefix-caching shm_size: 10.24gb ipc: host/span四、关键配置说明配置项说明HCCL_NPU_SOCKET_PORT_RANGE最关键每个TP进程组必须分配不重叠端口区间ASCEND_RT_VISIBLE_DEVICES运行时NPU卡隔离等价于 CUDA_VISIBLE_DEVICESipc: host shm_size: 10.24gbTP多进程间共享内存通信必须配置VLLM_WORKER_MULTIPROC_METHODspawnTP1时vLLM多进程启动方式HCCL_BUFFSIZE512HCCL通信缓冲区MB提升TP通信吞吐devices 挂载全部davinci驱动管理设备manager/devmm_svm/hisi_hdc必须全量挂载实际卡隔离靠 ASCEND_RT_VISIBLE_DEVICES五、排查命令# 查看端口占用确认各HCCL端口区间无重叠 ss -tlnp | grep -E 1666[0-9]|1667[0-9]|1668[0-9]|1669[0-9] # 查看NPU状态 npu-smi info # 查看HCCL相关日志 docker logs 容器名 21 | grep -i hccl # 查看NPU拓扑 npu-smi info -t topology/span六、总结昇腾910B多容器并行部署的核心就一句话HCCL_NPU_SOCKET_PORT_RANGE必须为每个TP进程组分配不重叠的端口区间。这是昇腾与NVIDIA部署的最大差异——NCCL能自动避让HCCL不行。配合 ASCEND_RT_VISIBLE_DEVICES 做NPU卡隔离即可稳定运行多容器多模型并行推理。

相关新闻

安装读卡器驱动WIN10禁用数字签名

安装读卡器驱动WIN10禁用数字签名

2026/7/18 21:10:50 阅读更多 →
公司一堆印章借出去就没人管了?我用飞算 JavaAI 做了个印章管控系统

公司一堆印章借出去就没人管了?我用飞算 JavaAI 做了个印章管控系统

每次要用公章、合同章、法人章,不是翻遍柜子找不到,就是不知道谁拿走了、什么时候还。纸质登记本记了三年,现在翻开的每一页都在告诉我——该换个管法了。一、印章丢一次,整个公司都慌 我们公司不大不小,各种印章加起来…

2026/7/18 21:10:50 阅读更多 →
drissionpage的websocket._exceptions问题

drissionpage的websocket._exceptions问题

新版drissionpage容易报错: websocket._exceptions.WebSocketConnectionClosedException: Connection to remote host was lost. 需要:pip install websocket-client1.6.4

2026/7/18 21:10:50 阅读更多 →

最新新闻

瑜伽馆管理系统有什么功能?约课系统哪家好?

瑜伽馆管理系统有什么功能?约课系统哪家好?

开一家瑜伽馆,课程安排、会员管理、课时费核算、教练排班……每一项都需要投入时间和精力。随着会员数量增多,纯靠人工管理越来越吃力。这时候,一套好用的瑜伽馆管理系统就成了刚需。但市面上的管理系统五花八门,功能、价格、操作…

2026/7/18 22:01:29 阅读更多 →
AI爆发时代下,中国教育如何跟进与改进

AI爆发时代下,中国教育如何跟进与改进

AI爆发时代下,中国教育如何跟进与改进引言:AI时代正在重塑教育格局2022年以来,以大语言模型、生成式人工智能、多模态AI和智能机器人为代表的新一轮人工智能技术快速发展,推动全球进入AI应用快速普及的新阶段。AI已经广泛应用于办…

2026/7/18 22:01:29 阅读更多 →
完整的数据接口调用过程

完整的数据接口调用过程

整体架构&#xff1a;Thymeleaf页面 ↔ SpringBoot代理接口 ↔ 数据网关 1. 前端层 <!DOCTYPE html> <html lang"zh-CN" xmlns:th"http://www.thymeleaf.org"> <head><meta charset"UTF-8"><title>公共数据展示&l…

2026/7/18 22:01:29 阅读更多 →
Kimi K3:智能的新前沿

Kimi K3:智能的新前沿

Kimi K3&#xff1a;智能的新前沿 原创 Kimi K3 月之暗面 Kimi 2026年7月17日 01:02 天津 犯其至难而图其至远者&#xff0c;发之以勇&#xff0c;守之以专&#xff0c;达之以强。 今天&#xff0c;我们正式推出 Kimi K3&#xff0c;我们迄今能力最强的模型。 Kimi K3 是一个…

2026/7/18 22:01:29 阅读更多 →
小蜜陪护机器人 - ESP32-CAM 摄像头配置指南

小蜜陪护机器人 - ESP32-CAM 摄像头配置指南

小蜜陪护机器人 ESP32-CAM 摄像头配置指南 一、小蜜陪护机器人使用 ESP32-CAM 摄像头 小蜜陪护机器人集成了计算机视觉能力&#xff0c;能够实时分析家中画面&#xff0c;提供安防监控、老人看护、宠物观察等功能。为了实现这一能力&#xff0c;小蜜主要采用 ESP32-CAM 作为默…

2026/7/18 22:01:29 阅读更多 →
ClickHouse跳数索引的设计与应用:Bloom Filter与MinMax在查询加速中的效果

ClickHouse跳数索引的设计与应用:Bloom Filter与MinMax在查询加速中的效果

ClickHouse跳数索引的设计与应用&#xff1a;Bloom Filter与MinMax在查询加速中的效果 一、全表扫描40亿行&#xff0c;ClickHouse也扛不住 在一个数据分析场景中&#xff0c;表user_events按小时分区存储了40亿条用户行为事件&#xff0c;查询"找出过去一周所有通过utm_s…

2026/7/18 22:00:29 阅读更多 →

日新闻

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;从模糊意图到可执行指令&#xff1a;Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档&#xff08;PRD&#xff09;生成实践中&#xff0c;原始业务意图往往以自然语言片…

2026/7/18 0:00:38 阅读更多 →
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Cursor配置生成失效&#xff1f;3大隐藏陷阱4行修复代码&#xff0c;资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效&#xff0c;是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…

2026/7/18 0:00:38 阅读更多 →
某智驾大牛创业

某智驾大牛创业

作者&#xff1a;钟声编辑&#xff1a;Mark出品&#xff1a;红色星际头图&#xff1a;智能驾驶图片据悉&#xff0c;国内某头部智驾公司端到端模型技术大牛Z投身创业&#xff0c;并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈&#xff0c;更是业内…

2026/7/18 0:00:38 阅读更多 →

周新闻

月新闻