当前位置: 首页 > news >正文

EP 架构:未来主流方向还是特定场景最优解?

DeepSeek MoE架构采用跨节点专家并行(EP)架构,在提升推理系统性能方面展现出巨大潜力。这一架构在发展进程中也面临诸多挑战,其未来究竟是会成为行业的主流方向,还是仅适用于特定场景,成为特定领域的最优解,引发了广泛的讨论。

PPIO派欧云作为专注于分布式推理的AI infra公司,致力于探索前沿推理加速技术。PD分离(prefill-decode分离)作为一种新兴的推理范式,是我们近期重要的研究方向之一,其对EP架构的发展产生了深远影响。

一、EP 架构的技术优势与潜力

(一)提升系统吞吐能力

EP 架构通过增大 batch size,充分挖掘 GPU 矩阵乘法的并行计算潜力,显著提升系统的吞吐能力。在深度学习模型的推理阶段,较大的 batch size 能够让 GPU 在单位时间内处理更多数据。

以图像识别模型为例,当 batch size 增大时,GPU 可以同时对更多张图片进行特征提取与分类运算,大大加快了推理速度。这种机制充分利用了 GPU 的并行计算资源,使模型在数据处理效率上得到质的提升,为大规模数据的快速处理提供了有力支持。在大规模数据处理中,采用 EP 架构增大 batch size 后,处理速度较传统架构提升了数倍,有效缩短了任务执行时间。

(二)降低推理延迟

将专家分散到不同 GPU 上的策略,有效减轻了单个 GPU 的访存压力,大幅降低了推理延迟。在处理大规模语言模型推理时,模型参数规模庞大,访存操作往往成为制约性能的关键因素。EP 架构通过将专家分散开来,每个 GPU 只需处理少量专家的参数,极大减少了访存需求,让 GPU 能够更专注于计算任务。这使得系统在处理实时性要求较高的任务时,能够快速响应,满足如智能客服实时问答、在线翻译等场景对低延迟的严苛要求。

从技术发展趋势来看,随着数据量呈爆发式增长以及模型参数规模持续扩张,对推理系统的吞吐和延迟性能要求将越来越高。EP 架构这种能够充分利用大规模计算资源、提升计算效率的设计理念,与未来技术发展需求高度契合。随着硬件技术的不断进步,如 GPU 性能的进一步提升、网络带宽和传输效率的持续拓展,EP 架构有望在更广泛的场景中发挥其优势,具备成为主流方向的技术潜力。

为什么EP能提升推理性能?

如下图所示,我们以DeepSeek V3模型为例说明优化原理,在LLM的推理当中,往往存在算力、访存、存储等瓶颈,我们从瓶颈的角度进行分析:

假设我们在8张H100的机器上运行DeepSeek V3模型,输入的prompt长度是1k,则推理阶段激活的9个专家参数大小约为22G,KV Cache则只有30M左右,实际推理中,专家参数与KV Cache都需要加载到显卡当中。与之相比,MoE在decode阶段的算力诉求远小于1TFLOPS,而H系列的显卡有上千TFLOPS,远远达不到算力瓶颈。

从上面的分析中得知MoE不是一个算力瓶颈问题,可以根据显卡性能和业务指标对瓶颈进行更进一步的分析,例如,TPOT指标一般要求50m,这就意味着只有50ms全部用于将数据从显存搬运到SM,同时因为碎片等原因而导致真正带宽利用率只有50%。按照以上假设,在50ms的范围内,带宽为3350G/S的H800显卡仅能够搬运85G的数据。

如果我们不做任何EP技术,按照显卡85G的数据搬运能力,意味着每张卡的最大batchsize只能有4(batchsize=85G/22G),与之相反,我们简单的将EP设置为8,则batchsize能达到32(batchsize=85G/(22G/8))。从这里就能看出,EP越大,每个显卡需要加载的专家参数量就越小,从而导致batchsize越大,同时意味着更大的推理吞吐,这便是EP提升推理性能的原理。

值得一提的是,DeepSeek在decode阶段采用的EP320,进一步将batchsize做的更大,从而将显卡性能压榨到极致。

二、特定场景下的卓越表现

在一些特定场景中,EP 架构已展现出无可比拟的优势,成为最优解决方案。

🌍科学计算领域

在气象模拟、分子动力学模拟等场景中,需要处理海量数据和复杂计算任务。这些任务通常具有大规模并行计算的特点,EP 架构能够很好地适应这种需求,通过将不同的计算任务分配到多个节点的 GPU 上并行处理,大幅缩短计算时间,提高模拟的精度和效率。在气象模拟中,利用 EP 架构可以快速模拟全球气象变化,为气象预测提供更准确的数据支持。

🔍互联网搜索和推荐系统

在互联网搜推系统中,实时性要求极高,需要在极短时间内对用户的查询或行为做出响应。EP 架构凭借其低延迟特性,能够快速处理用户请求,为用户提供即时的搜索结果或个性化推荐,极大提升用户体验,在这类场景中具有独特的应用价值。

💹金融行业

在金融行业的高频交易场景中,每一秒的延迟都可能导致巨大的经济损失。EP 架构的低延迟特性能够满足高频交易对实时性的严格要求,帮助金融机构快速做出交易决策,抢占市场先机。

🏥医疗影像诊断领域

在医疗影像诊断领域,对于大量医学影像数据的快速分析和诊断至关重要。EP 架构的高吞吐能力可以加速影像数据的处理,让医生能够更快地获取诊断结果,为患者的治疗争取宝贵时间。在医疗影像分析中,基于 EP 架构的系统能够快速处理大量的 X 光、CT 等影像数据,辅助医生更高效地进行疾病诊断。

三、面临的挑战限制其普适性

尽管 EP 架构优势众多,但在实际应用中也面临一系列严峻挑战,限制了其短期内成为主流方向的可能性。

跨节点通信开销是 EP 架构面临的主要问题之一。由于不同节点之间需要频繁交换数据,网络带宽和延迟成为制约系统性能的瓶颈。在复杂多变的网络环境下,网络拥塞、节点故障等问题时有发生,这可能导致通信延迟大幅增加,甚至数据传输错误,严重影响系统的稳定性和性能。

不同节点的硬件性能差异也给 EP 架构带来难题。即使在同一数据中心内,不同节点的 GPU 型号、内存大小、CPU 性能等也可能存在差异,这使得任务分配和负载均衡变得更加复杂。如果不能有效解决这些问题,部分节点可能成为系统的 “堵点”,降低整体性能。

构建和维护基于 EP 架构的推理系统需要较高的技术门槛和成本投入。这不仅需要专业的技术团队来进行系统的设计、部署和优化,还需要大量的硬件资源和网络基础设施支持。对于许多中小企业来说,这种高昂的成本可能难以承受,限制了 EP 架构的广泛应用。

四、PD 分离推理范式带来的新变量

(一)PD 分离的原理与优势

现有部署方式是prefill+decode共同部署在同一张GPU卡上。Prefill阶段主要是算力瓶颈,decode阶段主要是访存瓶颈,这两种不同的任务在同一张卡会造成资源浪费,硬件计算效率低。PD 分离,即 prefill-decode 分离,将推理过程中的预填充(prefill)阶段和解码(decode)阶段分离处理,分别在不同的GPU卡上处理。在预填充阶段,系统快速生成初始的中间结果(KV),这些结果通常具有一定的规律性和可并行性。EP 架构可以充分利用其大规模并行计算能力,在多个节点上同时进行预填充计算,大大提高预填充的速度。而在解码阶段,由于其对实时性要求较高,PD 分离允许硬件更专注地处理解码任务,优化解码算法和资源分配。通过这种任务分离,系统能够更好地平衡不同阶段的计算资源需求,提升整体推理效率。

(二)与 EP 架构结合的挑战

PD 分离推理范式在与 EP 架构结合的实际应用中也面临诸多挑战。预填充和解码阶段的硬件资源划分需要精确的算法支持,否则可能导致资源分配不合理。如果预填充阶段分配过多资源,会造成解码阶段资源紧张,影响实时性;反之,预填充阶段资源不足,则会拖慢整个推理速度。预填充和解码阶段之间的数据交互也带来了额外的通信开销。由于两个阶段可能在不同节点或不同计算资源上进行,如何高效地传输中间结果,确保数据的一致性和完整性,是需要解决的难题。在网络环境不稳定或带宽有限时,这种通信开销可能严重影响推理性能。

五、Dense LLM 模型会消失吗?

若 EP 架构成为未来主流方向,大模型参数持续增大,dense 模型并不会彻底消失,而是会在不同场景下与 EP 架构主导的模型形成互补关系。

1. EP 架构优势适配大参数模型:随着大模型参数规模不断膨胀,EP 架构凭借独特优势更契合发展需求。在自然语言处理的超大规模语言模型推理中,EP 架构可确保模型快速响应。

2. dense 模型的独特价值:dense 模型虽面临参数增长带来的挑战,但仍有不可替代的价值。在一些对模型精度和连续性要求极高的场景,如高精度科学计算模拟、部分医学图像分析任务中,dense 模型能凭借其参数紧密连接的特性,提供更精准、连续的结果。dense 模型结构相对简单,在一些资源受限、对模型复杂度要求不高的边缘设备场景下,更易于部署和运行,能够高效利用有限资源完成特定任务。

3. 二者的共存与互补:未来大模型发展中,EP 架构和 dense 模型并非相互替代。在数据中心等拥有强大计算资源的场景,EP 架构主导的模型可处理大规模、复杂的任务,发挥其并行计算和资源优化优势。而在对精度、资源利用有特定要求的边缘计算场景,dense 模型能继续发挥作用。

六、未来发展走向

综合来看,未来在大尺寸LLM推理/训练领域,EP架构可能成为最优解。随着网络互联技术进步和更智能的分布式计算框架的出现,EP 架构面临的通信和负载均衡等问题有望得到有效解决。另外,PD 分离推理范式也为 EP 架构的发展带来了新的可能性。如果二者能够成功融合并克服现存问题,EP 架构的应用范围或许会得到进一步拓展。

DeepSeek MoE架构采用跨节点专家并行(EP)架构,在提升推理系统性能方面展现出巨大潜力。这一架构在发展进程中也面临诸多挑战,其未来究竟是会成为行业的主流方向,还是仅适用于特定场景,成为特定领域的最优解,引发了广泛的讨论。

PPIO派欧云作为专注于分布式推理的AI infra公司,致力于探索前沿推理加速技术。PD分离(prefill-decode分离)作为一种新兴的推理范式,是我们近期重要的研究方向之一,其对EP架构的发展产生了深远影响。

相关文章:

EP 架构:未来主流方向还是特定场景最优解?

DeepSeek MoE架构采用跨节点专家并行(EP)架构,在提升推理系统性能方面展现出巨大潜力。这一架构在发展进程中也面临诸多挑战,其未来究竟是会成为行业的主流方向,还是仅适用于特定场景,成为特定领域的最优解…...

记忆化搜索与动态规划:原理、实现与比较

记忆化搜索和动态规划是解决优化问题的两种重要方法,尤其在处理具有重叠子问题和最优子结构性质的问题时非常有效。 目录 1. 记忆化搜索(Memoization) 定义: 实现步骤: 示例代码(斐波那契数列&#xff0…...

LLMR//https://github.com/microsoft/llmr?locale=zh-cn

https://github.com/microsoft/llmr?localezh-cn Introduction 这个 repo 包含 LLMR 中描述的代码,实现了混合现实框架的大型语言模型。 此软件包是“用语言创造世界”的原型,它允许通过自然语言实时创建具有视觉、行为和交互元素的对象、工具和场景…...

Free Auto Clicker - 在任意位置自动重复鼠标点击

“想让鼠标自己动起来,解放双手去做更有趣的事?”Free Auto Clicker 就像你的数字小助手,能在任意位置自动重复点击鼠标。从玩游戏到刷网页,这款免费工具让你告别枯燥的重复操作,效率瞬间起飞! 你有没有想…...

高考數學。。。

2024上 具体来说,直线的参数方程可以写为: x1t y−t z1t 二、简答题(本大题共5小题,每小题7分,共35分。) 12.数学学习评价不仅要关注结果评价,也要关注过程评价。简要说明过程评价应关注哪几个方面。…...

MWC 2025|紫光展锐联手美格智能发布5G通信模组SRM812

在2025年世界移动通信大会(MWC 2025)期间,紫光展锐携手美格智能正式推出了基于紫光展锐V620平台的第二代5G Sub6G R16模组SRM812,以超高性价比方案,全面赋能合作伙伴,加速5G规模化应用在各垂直领域的全面落…...

5分钟快速搭建一个 SpringBoot3 + MyBatis-Plus 工程项目

环境 idea 2023.3.5 jdk 17 mysql 8 创建SpringBoot工程 创建SpringBoot工程,这里有两种方式可选,一种是使用idea提供的Spring Initializr自动创建,一种是通过Maven Archetype手动创建 自动创建SpringBoot工程 使用Spring Initializr创建…...

深度学习-大白话解释循环神经网络RNN

目录 一、RNN的思想 二、RNN的基本结构 网络架构 ​关键点 三、RNN的前向传播 四、RNN的挑战:梯度爆炸和梯度消失 问题分析 ​示例推导 五、LSTM:RNN的改进 核心组件 ​网络架构 3. LSTM 的工作流程 4. 数学公式总结 5. LSTM 的优缺点 ​优点 ​缺点 6. LSTM 的…...

20.<Spring图书管理系统①(登录+添加图书)>

PS:关于接口定义 接口定义,通常由服务器提供方来定义。 1.路径:自己定义 2.参数:根据需求考虑,我们这个接口功能完成需要哪些信息。 3.返回结果:考虑我们能为对方提供什么。站在对方角度考虑。 我们使用到的…...

windows下使用Hyper+wsl实现ubuntu下git的平替

文章目录 前言一、安装Hyper、wsl1. 安装Hyper2. 安装wsl 二、配置Hyper三、安装并使用git总结 前言 众所周知,Ubuntu下安装git只需执行sudo apt install git即可使用默认终端拉取代码,但是Windows上使用git既没有linux便捷,又没有MacOS优雅…...

Python在实际工作中的运用-提取Pdf文件内容

Pdf文件是我们日常工作中经常会遇到的一种文件格式,对于这种文件的提取 pdfplumber 库可以非常出色的完成处理工作,它是一个纯 Python 第三方库,适合 python 3.x 版本,通常用来查看pdf各类信息,能有效提取文本、表格&…...

Python+Vue+数据可视化的考研知识共享平台(源码+论文+讲解+安装+调试+售后)

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,我会一一回复,希望帮助更多的人。 程序介绍 近些年来,科技以一种近乎狂飙突进的态势呈爆发式发展,成果之丰硕…...

VirtualBox虚拟机MacOS从Big Sur升级到Sequoia(失败)

VirtualBox虚拟机里安装好Big Sur版本,尝试升级到Sequoia,但是最终失败了。 软件升级 直接在系统偏好-软件更新里可以看到提示,提示可以升级到15版本Sequoia 点击同意,看能不能升级到Sequoia吧。升级前先用时光做了备份。 升级…...

深度学习---卷积神经网络

一、卷积尺寸计算公式 二、池化 池化分为最大池化和平均池化 最常用的就是最大池化,可以认为最大池化不需要引入计算,而平均池化需要引出计算(计算平均数) 每种池化还分为Pooling和AdaptiveAvgPool Pooling(2)就是每2*2个格子…...

深入解析网络协议:从OSI七层模型到HTTP与TCP/IP的关系

在网络的世界里,理解不同协议如何协同工作以实现高效、可靠的通信至关重要。无论是构建动态的Web应用,还是进行复杂的网络编程,对基础协议的理解都是不可或缺的。本文首先介绍OSI七层模型,这是一个为网络系统设计提供通用参考框架…...

链表-相关面试算法题

目录 面试题 02.04. 分割链表 面试题 02.05. 链表求和 面试题 02.06. 回文链表 面试题 02.07. 链表相交 面试题 02.04. 分割链表 面试题 02.04. 分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点…...

CSS Overflow 属性详解

CSS Overflow 属性详解 在网页设计和开发中,CSS Overflow 属性是一个非常重要的特性,它决定了当内容超出其容器大小时应该如何处理。本文将详细介绍 CSS Overflow 属性的相关知识,包括其语法、作用、常用属性值以及一些实际应用场景。 1. CSS Overflow 属性概述 CSS Over…...

一、MySQL备份恢复

一、MySQL备份恢复 1.1 MySQL日志管理 数据库中数据丢失或被破坏可能原因 误删除数据库 数据库工作时,意外断电或程序意外终止 由于病毒造成的数据库损坏或丢失 文件系统损坏后,系统进行自检操作 升级数据库时,命令语句不严格 设备故…...

Python-04BeautifulSoup网络爬虫

2025-03-04-BeautifulSoup网络爬虫 记录BeautifulSoup网络爬虫的核心知识点 文章目录 2025-03-04-BeautifulSoup网络爬虫 [toc]1-参考网址2-学习要点3-核心知识点1. 安装2. 导入必要的库3. 发送 HTTP 请求4. 创建 BeautifulSoup 对象5. 解析 HTML 内容5.1 查找标签5.2 根据属性…...

记录uniapp小程序对接腾讯IM即时通讯无ui集成(2)

完成以上步骤之后开始进行登录,登陆就需要账号。这个账号我们可以在腾讯云中创建。 有了账号之后开始去小程序进行登陆操作。腾讯云接口文档 这里除了帐号还需要一个校验值userSig正常项目开发这个字段可以在登陆后让后端返回,现在是测试我们直接去控制…...

DE2115实现4位全加器和3-8译码器(FPGA)

一、配置环境 1、Quartus 18.1安装教程 软件:Quartus版本:Quartus 18.1语言:英文大小:5.78G安装环境:Win11/Win10/Win8/Win7硬件要求:CPU2.0GHz 内存4G(或更高) 下载通道①百度网盘丨64位下载…...

大白话面试中应对自我介绍

在面试中,自我介绍是开场的关键环节,它就像你递给面试官的一张“个人名片”,要让面试官快速了解你并对你产生兴趣。下面详细讲讲应对自我介绍的要点及回答范例。 一、自我介绍的时间把控 一般面试中的自我介绍控制在1 - 3分钟比较合适。时间…...

【JavaScript—前端快速入门】JavaScript 综合案例 — 猜数字

JavaScript 综合案例—猜数字 预期效果 需求 完成基本的页面布局在文本框输入数字后,点击"猜"按钮,结果那一行会显示"猜大了"或者"猜小了"每猜一次,就会增加一次猜的次数猜到数字后,结果显示要猜的…...

X Window---图形接口

摘抄自 鸟哥的linux私房菜 基础篇 第四版 有鉴于图形用户接口(Graphical User Interface, GUI) 的需求日益加重,在 1984 年由 MIT 与其他第三方首次发表了 X Window System ,并且更在 1988 年成立了非营利性质的 XFree86 这个组织。所谓的XFree86 其实是…...

CSS浮动详解

1. 浮动的简介 浮动是用来实现文字环绕图片效果的 2.元素浮动后会有哪些影响 对兄弟元素的影响: 后面的兄弟元素,会占据浮动元素之前的位置,在浮动元素的下面;对前面的兄弟 无影响。 对父元素的影响: 不能撑起父元…...

shell脚本编程实践第2天

1 内容格式化 1.1 输出格式化 1.1.1 echo解读 学习目标 这一节,我们从 基础知识、简单实践、小结、三个方面来学习。 基础知识 命令简介 echo命令的功能是将内容输出到默认显示设备,一般起到一个提示的作用。OPTIONS: -n 不要在最后自…...

wgcloud-server端部署说明

Wgcloud 是一款开源的轻量级服务器监控系统,支持多平台,可对服务器的 CPU、内存、磁盘、网络等指标进行实时监控。 以下是 Wgcloud Server端的详细部署步骤: 环境准备 服务器: 至少准备两台服务器,一台作为监控端&a…...

AES/CBC/PKCS5Padding加密

1、加密代码如下 public static String encryptAEs_CBC(String data,String key,byte[] iv) {Cipher cipher = null;try {cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");//位数不够,自动补一个长度int blocksize = cipher.getBlockSize();byte[] dataBytes …...

9.8 Visual Studio 2022安装Qt 和安装graphic

1.安装Qt 1. 安装Qt 首先打开Visual Studio,然后创建一个项目,再在最上面的一行依次打开“扩展-->管理扩展”,再在搜索框内搜索“QT”,显示如下界面: 再在右边QT右边有个“在浏览器中查看”,打开后出现…...

【C++设计模式】第四篇:建造者模式(Builder)

注意:复现代码时,确保 VS2022 使用 C17/20 标准以支持现代特性。 分步骤构造复杂对象,实现灵活装配 1. 模式定义与用途 核心目标:将复杂对象的构建过程分离,使得同样的构建步骤可以创建不同的表示形式。 常见场景&am…...

Spring Boot如何利用Twilio Verify 发送验证码短信?

Twilio提供了一个名为 Twilio Verify 的服务,专门用于处理验证码的发送和验证。这是一个更为简化和安全的解决方案,适合需要用户身份验证的应用。 使用Twilio Verify服务的步骤 以下是如何在Spring Boot中集成Twilio Verify服务的步骤: 1.…...

制造业中的“大数据”:如何实现精准决策?

在当今全球经济竞争日趋激烈、技术变革周期不断缩短的环境下,制造业面临着全新的挑战和机遇。随着信息技术的飞速发展,“大数据”正以前所未有的速度渗透到制造业的各个环节,帮助企业实现更精准的决策、更灵活的生产组织以及更敏捷的市场响应…...

Linux cat 命令

cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上,它的主要作用是用于查看和连接文件。 使用权限 所有使用者 语法格式 cat [选项] [文件] 参数说明: -n:显示行号,会在输…...

CSS—flex布局、过渡transition属性、2D转换transform属性、3D转换transform属性

​ 1.flex布局 也叫弹性布局,是浏览器提倡的布局模型,非常适合结构化布局,提供了强大的空间分布和对齐能力,不会产生浮动布局中脱标现象,布局网页更简单,更灵活。 flex容器属性: 属性描述d…...

Java UDP 通信:实现简单的 Echo 服务器与客户端

在计算机网络编程中,UDP(User Datagram Protocol)是一种无连接的传输层协议,它允许应用程序在不建立连接的情况下发送数据包。与 TCP 不同,UDP 不保证数据包的顺序、可靠性或完整性,但它具有低延迟和低开销…...

使用GitLink个人建站服务部署Allure在线测试报告

更多技术文章,访问软件测试社区 文章目录 🚀前言🔑开通GitLink个人建站服务1. 前提条件2. 登录GitLink平台(https://www.gitlink.org.cn/login)3. 进入设置>个人建站>我的站点4. 新建站点5. 去仓部进行部署6. 安…...

Mybatis plus异常: type `java.time.LocalDateTime` not supported by default

1、问题&#xff1a; Java数据库实体对象有字段如下&#xff1a; TableField(typeHandler JacksonTypeHandler.class) private Map<String, Object> dataDetail; 如果dataDetail中有LocalDateTime对象&#xff0c;在保存时会报如下异常&#xff1a; Caused by: com.…...

Django:文件上传时报错in a frame because it set ‘X-Frame-Options‘ to ‘deny‘.

即&#xff1a;使用Content-Security-Policy 1.安装Django CSP中间件&#xff1a; pip install django-csp 2.更改项目配置&#xff1a; # settings.py MIDDLEWARE [...csp.middleware.CSPMiddleware,... ]CSP_DEFAULT_SRC ("self",) CSP_FRAME_ANCESTORS (&q…...

腾讯云 | 微搭低代码快速开发数据表单应用

如上所示&#xff0c;登录腾讯云微搭低代码业务控制台&#xff0c;开始新创建一个应用&#xff0c;创建应用的方式包括&#xff0c;根据实际的业务需求&#xff0c;从模版列表中选择一个模板填入数据模型创建新应用&#xff0c;使用微搭组件自主设计数据模型创建新应用&#xf…...

【RabbitMQ】RabbitMQ的核心概念与七大工作模式

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【中间件】企业级中间件剖析 在现代分布式系统和微服务架构中&#xff0c;消息队列&#xff08;Message Queue&#xff09; 是解决服务间通信、系统解耦和流量削峰的关键技术之一。而 RabbitMQ 作为一…...

金蝶ERP星空对接流程

1.金蝶ERP星空OPENAPI地址&#xff1a; 金蝶云星空开放平台 2.下载金蝶云星空的对应SDK包 金蝶云星空开放平台 3.引入SDK流程步骤 引入Kingdee.CDP.WebApi.SDK 右键项目添加引用&#xff0c;在打开的引用管理器中选择浏览页签&#xff0c;点击浏览按钮&#xff0c;找到从官…...

【C++】基于范围的for循环(range-based for loop)

一. std::vector 元素排布顺序 在 C 中&#xff0c;std::vector 是一个动态数组&#xff0c;用于存储同类型元素的序列。当你向 std::vector 中添加元素时&#xff08;通常通过 push_back 方法&#xff09;&#xff0c;元素是按照你添加它们的顺序排列的。 具体来说&#xff…...

下载b站视频音频

文章目录 方案一&#xff1a;jjdown如何使用 方案二&#xff1a;bilibili哔哩哔哩下载助手如何使用进入插件网站插件下载插件安装 使用插件下载视频音频&#xff1a;复制音频下载地址 方案三&#xff1a;bat命令下载单个音频下载单个视频下载单个音视频 方案一&#xff1a;jjdo…...

LabVIEW DataSocket 通信库详解

dataskt.llb 是 LabVIEW 2019 内置的核心函数库之一&#xff0c;位于 vi.lib\Platform\ 目录下&#xff0c;专注于 DataSocket 技术的实现。DataSocket 是 NI 提供的网络通信协议&#xff0c;支持跨平台、跨设备的实时数据共享&#xff0c;广泛应用于远程监控、分布式系统集成等…...

金融项目实战

测试流程 测试流程 功能测试流程 功能测试流程 需求评审制定测试计划编写测试用例和评审用例执行缺陷管理测试报告 接口测试流程 接口测试流程 需求评审制定测试计划分析api文档编写测试用例搭建测试环境编写脚本执行脚本缺陷管理测试报告 测试步骤 测试步骤 需求评审 需求评…...

初始网络编程

什么是网络编程&#xff1f; 在网络通信协议下&#xff0c;不同计算机上运行的程序&#xff0c;进行的数据传输。 应用场景&#xff1a;即时通信、网游对战、金融证券、 国际贸易、邮件、等等。 不管是什么场景&#xff0c;都是计算机跟计算机之间通过网络进行数据传输。 …...

编译可以在Android手机上运行的ffmpeg程序

下载代码 git clone gitgithub.com:FFmpeg/FFmpeg.git git checkout n7.0建立build目录 mkdir build cd build创建build.sh脚本 vim build.sh这段脚本的主要功能是配置和编译 FFmpeg&#xff0c;使其能够在 Android 平台上运行&#xff0c;通过设置不同的架构和 API 级别&am…...

使用Kubernetes部署Spring Boot项目

目录 前提条件 新建Spring Boot项目并编写一个接口 新建Maven工程 导入 Spring Boot 相关的依赖 启动项目 编写Controller 测试接口 构建镜像 打jar包 新建Dockerfile文件 Linux目录准备 上传Dockerfile和target目录到Linux 制作镜像 查看镜像 测试镜像 上传镜…...

LC77. 组合

LC77. 组合 题目要求(一)回溯1. 解决思路2. 具体步骤3. 代码实现4. 复杂度分析5. 示例解释示例 1&#xff1a;示例 2&#xff1a; 6. 总结 LC77. 组合 题目要求 (一)回溯 要解决这个问题&#xff0c;我们需要生成从 [1, n] 范围内选择 k 个数的所有可能组合。组合的顺序不重要…...

Android中的ANR(Application Not Responding)现象

Android中的ANR&#xff08;Application Not Responding&#xff09;现象是指应用程序未能在规定的时间内响应系统或用户的输入事件&#xff0c;从而触发系统弹出的无响应对话框。以下是关于ANR现象的详细解释&#xff1a; 一、ANR现象的定义 ANR通常发生在以下情况&#xff…...