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

【无标题】vLLM:推理吞吐与尾延迟的资源真相

Chunked Prefil 大小影响哪些 影响TPOT 和TTFT。 吞吐吗。 吞吐是怎么定义的 以及QPS怎么定义的以及并发树的关系https://support.huaweicloud.com/intl/en-us/bestpractice-modelarts/modelarts_llm_infer_5906026.htmlReduced latency: By balancing the computational utilization of prefill and decode, it reduces the P90_ttft (time to first token) and P90_tpot (time per output token) latencies, particularly in scenarios with short inputs, short outputs, and high concurrency. 为什么chunked prefillThe user is asking why chunked prefill reduces P90 TTFT and P90 TPOT latencies, particularly in scenarios with short inputs, short outputs, and high concurrency.Chunked Prefill 为什么能降低 P90 TTFT 和 P90 TPOT先理解不启用 Chunked Prefill 的问题问题1长 Prefill 阻塞 DecodeTPOT 抖动不启用 Chunked Prefill 时间轴 ┌─────────────────────────┐┌──┐┌──┐┌──┐ GPU计算 │ 长请求 Prefill(4096tok)││D1││D2││D3│ └─────────────────────────┘└──┘└──┘└──┘ ←────── 很长时间 ─────────→←─短─→ 正在decode的请求(req_old1, req_old2...) 必须等待长Prefill完成 才能做下一步decode ITL(req_old1) 正常decode时间 等待prefill的时间 本来10ms → 变成 200ms 这就是为什么 P90_TPOT 高 高并发下必然有请求撞上长prefill P90就被这些倒霉请求拉高了问题2Decode 阻塞新请求的 PrefillTTFT 抖动不启用 Chunked Prefill 场景高并发running里有100个decode请求 新请求 req_new 进来 等待队列: [req_new] 每轮迭代 running里100个decode请求先处理 剩余token预算 max_num_batched_tokens - 100 3996 req_new 输入 512 tokens 512 3996 ✅ 可以调度 但每轮只能调度1个新prefill 如果waiting里有很多请求排队 waiting: [req_new1, req_new2, req_new3...req_100] req_new1: 本轮调度 → TTFT 1轮等待 req_new2: 下轮调度 → TTFT 2轮等待 req_new3: 下轮调度 → TTFT 3轮等待 ... req_new100: TTFT 100轮等待 P90_TTFT 被排队靠后的请求拉高Chunked Prefill 如何解决核心思路把长 Prefill 切成小块 和 Decode 混合在同一个 batch 里处理 不再是 [────────长Prefill────────][D][D][D] 而是 [Prefill_chunk1][D][D][D][Prefill_chunk2][D][D][D] ←── 每块都很短 ──→ ←── 继续 ──→解决 TPOT 抖动启用 Chunked Prefill max_num_batched_tokens 2048 (每轮token上限) 长请求(4096 tokens)被切成2块 chunk1: 2048 tokens 第1轮处理 chunk2: 2048 tokens 第2轮处理 每轮迭代 decode请求: 100 tokens (100个请求各1token) prefill chunk: 1948 tokens (2048-100) 合计: 2048 tokens ✅ 时间轴 ┌──────────────────────┐ │ decode(100) │ 每轮耗时基本一致 │ prefill_chunk(1948) │ └──────────────────────┘ ┌──────────────────────┐ │ decode(100) │ │ prefill_chunk(1948) │ └──────────────────────┘ decode请求不再被长prefill阻塞 每轮都能推进decode TPOT 变得稳定P90_TPOT 下降解决 TTFT 抖动短输入场景启用 Chunked Prefill 场景短输入请求512 tokens高并发 max_num_batched_tokens 8192 每轮可以同时处理多个短输入的prefill decode请求: 100 tokens prefill req1: 512 tokens prefill req2: 512 tokens prefill req3: 512 tokens prefill req4: 512 tokens ...最多能塞 (8192-100)/512 ≈ 15 个短prefill 不启用时每轮只能处理1个 TTFT(req_15) 15轮等待 启用后每轮处理15个 TTFT(req_15) 1轮等待 P90_TTFT 大幅下降短输入短输出高并发场景的具体分析场景参数 输入长度: 512 tokens (短输入) 输出长度: 128 tokens (短输出) 并发请求: 1000 个 (高并发) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 不启用 Chunked Prefill 每轮只处理1个新prefill waiting里1000个请求 req_900 需要等待900轮才能开始prefill 每轮耗时假设 20ms req_900 的 TTFT 900 × 20ms 18秒 P90_TTFT 900个请求中90%点 ≈ 几秒级别 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 启用 Chunked Prefill max_num_batched_tokens 8192 短输入512tokens每轮可以处理 (8192 - decode消耗) / 512 ≈ 15个新prefill waiting里1000个请求 req_900 需要等待 900/15 60轮 每轮耗时 20ms req_900 的 TTFT 60 × 20ms 1.2秒 P90_TTFT 从18秒 → 1.2秒为什么短输出也是关键条件短输出 请求完成得快 running队列快速释放槽位 短输出场景128 tokens 请求从进入running到完成 128轮decode 128轮后槽位释放新请求进来 长输出场景2048 tokens 请求占用running槽位 2048轮 新请求等待时间更长 即使chunked prefill也难以缓解排队问题 所以 短输入 → 每轮能处理更多prefill → TTFT降低 短输出 → running槽位快速轮转 → 整体吞吐提升 高并发 → chunked prefill的批量 → 优势更明显 处理能力被充分利用本质原因总结┌──────────────────────────────────────────────────────────┐ │ Chunked Prefill 降低延迟的本质原因 │ ├──────────────────────┬───────────────────────────────────┤ │ 问题 │ Chunked Prefill 解法 │ ├──────────────────────┼───────────────────────────────────┤ │ 长Prefill阻塞Decode │ Prefill切块每块不超过token预算 │ │ → TPOT抖动 │ Decode每轮都能推进 │ │ │ → P90_TPOT 稳定下降 │ ├──────────────────────┼───────────────────────────────────┤ │ 每轮只能处理1个 │ 每轮可处理多个短输入prefill │ │ 新Prefill │ 减少waiting队列等待轮数 │ │ → TTFT排队过长 │ → P90_TTFT 大幅下降 │ ├──────────────────────┼───────────────────────────────────┤ │ GPU计算不均衡 │ 每轮token总量固定在 │ │ prefill轮算力爆满 │ max_num_batched_tokens附近 │ │ decode轮算力浪费 │ GPU利用率更稳定均衡 │ └──────────────────────┴───────────────────────────────────┘ 一句话 Chunked Prefill 把大块不均衡的计算 变成小块均衡的计算 让Prefill和Decode不再互相长时间阻塞 从而降低P90_TTFT和P90_TPOTChunked Prefil 大小影响哪些 影响TPOT 和TTFT。 吞吐吗。 吞吐是怎么定义的 以及QPS怎么定义的以及并发树的关系Chunked Prefill 对性能指标的影响对 TTFT 和 TPOT 的影响Chunked Prefill 大小主要通过max_num_batched_tokens参数控制对延迟指标有显著影响 1较小值如 2048获得更好的 ITLInter-Token Latency因为 prefill 对 decode 的干扰更少较大值获得更好的 TTFTTime to First Token因为可以在批处理中处理更多 prefill token推荐值 8192 以获得最佳吞吐量对吞吐量的影响吞吐量定义在 vLLM 中吞吐量有多个维度 2classBenchmarkMetrics:request_throughput:float# 请求吞吐量 (req/s)output_throughput:float# 输出 token 吞吐量 (tok/s)total_token_throughput:float# 总 token 吞吐量 (tok/s)Chunked Prefill 通过以下方式影响吞吐量提高 GPU 利用率混合计算密集型prefill和内存密集型decode操作减少阻塞分块处理避免长 prefill 阻塞 decode 请求优化批处理更灵活的 token 预算分配QPS 定义QPS (Queries Per Second)等同于request_throughput表示每秒完成的请求数 3request_throughputcompleted/dur_s,并发数关系并发数与吞吐量的关系并发数上限由max_num_seqs控制 4实际并发受 token 预算和 KV cache 限制吞吐量优化增加并发数通常提高吞吐量但可能增加延迟默认值设置系统根据硬件自动设置默认值 5# H100/MI300x 等高端 GPUdefault_max_num_batched_tokens{UsageContext.LLM_CLASS:16384,UsageContext.OPENAI_API_SERVER:8192,}性能调优建议目标Chunked Prefill 设置其他参数低延迟较小值 (2048-4096)减少max_num_seqs高吞吐较大值 (8192)增加max_num_seqs平衡中等值 (4096-8192)根据负载测试调整NotesChunked Prefill 是 vLLM V1 的默认行为显著改善了混合负载性能实际性能需要通过vllm bench serve工具测试验证QPS 和吞吐量指标可通过 Prometheus 端点监控并发数、延迟和吞吐量之间存在权衡关系Wiki pages you might want to explore:Configuration and Initialization (vllm-project/vllm)Metrics and Observability (vllm-project/vllm)Wiki pages you might want to explore:Model Correctness Validation (vllm-project/vllm)Configuration and Initialization (vllm-project/vllm)CitationsFile:docs/configuration/optimization.md (L54-59)You can tune the performance by adjusting max_num_batched_tokens: - Smaller values (e.g., 2048) achieve better inter-token latency (ITL) because there are fewer prefills slowing down decodes. - Higher values achieve better time to first token (TTFT) as you can process more prefill tokens in a batch. - For optimal throughput, we recommend setting max_num_batched_tokens 8192 especially for smaller models on large GPUs. - If max_num_batched_tokens is the same as max_model_len, thats almost the equivalent to the V0 default scheduling policy (except that it still prioritizes decodes).File:vllm/benchmarks/serve.py (L171-179)classBenchmarkMetrics:completed:intfailed:inttotal_input:inttotal_output:intrequest_throughput:floatrequest_goodput:floatoutput_throughput:floattotal_token_throughput:floatFile:vllm/benchmarks/serve.py (L567-568)request_throughputcompleted/dur_s,request_goodputgood_completed/dur_s,File:vllm/engine/arg_utils.py (L2048-2065)default_max_num_batched_tokens{UsageContext.LLM_CLASS:16384,UsageContext.OPENAI_API_SERVER:8192,}default_max_num_seqs{UsageContext.LLM_CLASS:1024,UsageContext.OPENAI_API_SERVER:1024,}else:# TODO(woosuk): Tune the default values for other hardware.default_max_num_batched_tokens{UsageContext.LLM_CLASS:8192,UsageContext.OPENAI_API_SERVER:2048,}default_max_num_seqs{UsageContext.LLM_CLASS:256,UsageContext.OPENAI_API_SERVER:256,}Chunked Prefill 的大小本质上由max_num_batched_tokens控制。它通过在 batch 中混合 prefill 和 decode 请求改变了 GPU 的计算模式从而在 TTFT、TPOT 和吞吐量之间引入了一种新的权衡关系。简单来说更大的 Chunk由更大的max_num_batched_tokens决定会提升吞吐量但可能稍微增加 TTFT而更小的 Chunk 则有助于稳定 TPOT 并降低尾延迟。1. Chunked Prefill 大小如何影响关键指标结合 vLLM 的调度逻辑和社区分析其影响机制如下指标影响机制对 Chunk 大小的选择吞吐量 (Throughput)Chunked Prefill 将长 prompt 切分并用 decode token 填充计算间隙使 GPU 保持高利用率。更大的 Chunk更大的max_num_batched_tokens意味着单次迭代处理更多 tokenGPU 算力更饱和从而提升吞吐量。追求高吞吐 →调大 ChunkTTFT (首 Token 延迟)TTFT 主要受 prefill 完成时间影响。较大的 Chunk 能更快地完成 prompt 的处理有助于降低 TTFT。但若 Chunk 过大可能会在调度时因等待资源而略有增加。追求低 TTFT →调大 Chunk(但需权衡)TPOT (每 Token 延迟)Chunked Prefill 的核心优势之一是稳定 TPOT。通过将 prefill 打散避免了大段 prefill 阻塞 decode 请求从而减少了 TPOT 的抖动。然而如果 Chunk 设置得过大它仍然会挤占 decode 的计算资源导致 TPOT 平均值略微上升。追求稳定 TPOT →启用功能追求最低 TPOT 平均值 →调小 ChunkvLLM 官方文档也指出Chunked Prefill 通过有效管理块大小提供了对 TPOT 更可靠的控制。而解耦预填充Disaggregated Prefill则是另一种更彻底但更复杂的优化方案专门用于在极大规模下控制尾延迟。2. 吞吐量 (Throughput)、QPS 与并发数的定义及关系在 vLLM 和在线推理系统中这三个概念需要被清晰地区分吞吐量 (Throughput)通常指系统在单位时间内生成的 Token 总数单位是tokens/s。它衡量的是 GPU 等硬件的计算效率。QPS (Queries Per Second)指系统每秒能够处理的请求数量单位是req/s。它衡量的是系统的业务处理能力。并发数 (Concurrency)指系统在同一时刻正在处理尚未完成的请求数量。这是 vLLM 调度器running队列中的请求数。它们之间最重要的关系是在固定的硬件和模型下吞吐量tokens/s ≈ QPSreq/s × 平均输出长度tokens/req。这意味着如果服务的平均输出长度较长即使 QPS 不高系统吞吐量tokens/s也会很高。此外QPS 和并发数通过Little‘s Law关联并发数 ≈ QPS × 平均响应时间。因此在目标 QPS 下平均响应时间TTFT TPOT × 输出长度越长系统需要维持的并发数就越高对显存KV Cache的压力也越大。3. 结合 vLLM 代码的深入分析vLLM 的基准测试工具清晰地区分了这三种指标吞吐量测试固定输入/输出长度让系统自动决定 batch 大小测量Throughput (tokens/s)。延时测试固定 batch size如 8测量端到端延迟Latency关注平均值和 P99。Serving 测试模拟真实请求流设置不同的目标QPS如 1, 4, 16测量在不同负载下的Throughput, TTFT, ITL。从代码调度逻辑看max_num_batched_tokens是连接吞吐和延时的关键。它决定了每一“步”StepGPU 前向计算处理的总 token 数。vLLM 通过连续批处理Continuous Batching在每个 Step 中动态决定 batch 大小和组成。当max_num_batched_tokens较大时每个 Step 可以处理更多 tokenGPU 利用率高吞吐量也随之提升。同时为了填满这个较大的 token budget调度器可能会让一些请求等待以组成一个更大的 batch。这个等待过程会增加TTFT并可能影响TPOT的稳定性。Chunked Prefill 正是利用了这个max_num_batched_tokens的预算将原本一个巨大的 prefill 请求“切碎”与其他 decode 请求混合从而在保持高吞吐的同时平衡了 TTFT 和 TPOT。总结Chunked Prefill 的大小由max_num_batched_tokens控制是平衡吞吐量、TTFT 和 TPOT 的核心旋钮。更大的 Chunk 倾向于提升吞吐并可能降低 TTFT但会对 TPOT 产生轻微压力。启用该功能本身就是为了通过混合 prefill 和 decode 来稳定 TPOT避免长请求带来的延迟抖动。吞吐tokens/s是硬件效率指标QPSreq/s是业务吞吐指标两者通过“平均输出长度”关联而并发数则是系统在时间窗口内处理请求的“库存”由 QPS 和响应时间共同决定。在生产环境中理解这三者的关系才能正确地配置 vLLM 参数在目标 QPS 下将 TTFT 和 TPOT特别是 P99 值控制在可接受的 SLO服务等级目标范围内。vLLM推理吞吐与尾延迟的资源真相混合长短请求但不做队列隔离或优先级典型表现短请求的 p99 被长请求拖到不可用用户感知为“突然卡住”。原因continuous batching 在追求整体吞吐时可能让短请求等待更久以换取更大的批次长请求又延长了序列驻留时间。 这里的短请求是指什么回复长度短还是prompt 短。整体吞吐时可能让短请求等待更久以换取更大的批次 是为什么 从代码角度讲vllm v1 对吗Reduced latency: By balancing the computational utilization of prefill and decode, it reduces the P90_ttft (time to first token) and P90_tpot (time per output token) latencies, particularly in scenarios with short inputs, short outputs, and high concurrency. 描述的对吗The user is asking about whether the description of vLLM v1’s latency reduction is correct, specifically about P90_TTFT and P90_TPOT.分析这个描述的准确性这个描述部分正确但有几处值得推敲✅ 正确的部分vLLM v1 确实引入了更好的prefill/decode 调度机制chunked prefill确实能降低某些场景下的延迟⚠️ 存疑/不准确的部分问题点说明P90_TPOTTPOT 主要受 decode 阶段影响prefill/decode 平衡对它的改善有限且间接短输入短输出场景Chunked prefill 的收益更多体现在长输入场景短输入场景 prefill 本身不是瓶颈高并发场景说法相对合理高并发时 prefill 抢占 decode 资源的问题更突出“balancing computational utilization”表述不够精确核心机制是chunked prefill将大 prefill 拆分避免阻塞 decode 更准确的描述应该是vLLM v1 通过chunked prefill机制将长 prefill 请求拆分为小块与 decode 交错执行主要改善了长输入、高并发场景下的TTFT避免 decode 被长 prefill 阻塞导致的 TPOT 抖动结论描述方向对但细节上对适用场景和指标的对应关系描述不够准确。https://git.modelhub.org.cn:9443/EngineX-Ascend/enginex-ascend-910-vllm/src/commit/03f1343d469fbc4c3ee114c894c9cadd1ab0f906/benchmarks

相关文章:

【无标题】vLLM:推理吞吐与尾延迟的资源真相

Chunked Prefil 大小影响哪些? 影响TPOT 和TTFT。 吞吐吗。 吞吐是怎么定义的? 以及QPS怎么定义的,以及并发树的关系? https://support.huaweicloud.com/intl/en-us/bestpractice-modelarts/modelarts_llm_infer_5906026.html Red…...

轻流MCP|让AI从「会回答」走向「能参与实际业务」

当越来越多企业开始把 AI 引入日常工作,一个现实问题也越来越突出: AI 怎么真正接入业务系统,而不是只停留在聊天层? 过去,很多 AI 更擅长回答问题、生成内容、整理信息。它可以帮助人更快完成写作、总结和分析&#x…...

若依管理系统实战:基于Vuex的用户角色权限与动态菜单路由解析

1. 若依管理系统权限控制核心逻辑解析 若依管理系统作为一款基于SpringBoot和Vue的企业级中后台解决方案,其权限控制体系设计得非常精巧。我在实际项目中使用这套方案时,发现它通过前后端协同工作,实现了细粒度的权限管理。整个流程可以概括为…...

VBA数据库解决方案第二十九讲 如何批量修改数据库中的数据

《VBA数据库解决方案》教程(版权10090845)是我推出的第二套教程,目前已经是第二版修订了。这套教程定位于中级,是学完字典后的另一个专题讲解。数据库是数据处理的利器,教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…...

汇智信科-机场数字孪生系统

机场数字孪生系统以数字化孪生技术构建机场全要素虚拟映射,精准还原机场、跑道、塔台等设施及飞机运行状态,支持多维度动态监测与可视化管控;通过模拟飞机调度、跑道滑行等全流程作业场景,覆盖机场多角色业务协同,同时…...

竞赛获奖保研加分测评:除了挑战杯,哪些垂直赛事含金量更高?

在 2026 年推免(保研)竞争进入白热化的背景下,工科学子的加分项已不仅仅是绩点的博弈,更是工程实战能力的短兵相接。随着教育部《关于加强新时代卓越工程师培养的指导意见》的深入实施,各大名校对人才的评价标准正从“…...

腾讯云轻量服务器+宝塔面板:新手零代码搭建个人网站的保姆级避坑指南

腾讯云轻量服务器宝塔面板:新手零代码搭建个人网站的保姆级避坑指南 你是否曾经想过拥有一个属于自己的网站,却因为不懂代码和服务器运维而望而却步?现在,即使你没有任何技术背景,也能轻松实现这个梦想。本文将带你一步…...

湖南石材结晶公司

在长沙,无论是高端商场、星级酒店,还是政务大厅、三甲医院,光洁如镜、平整如砥的石材地面,都是其专业形象与高端质感的直接体现。然而,石材作为“面子工程”,长期承受高频人流、设备碾压,极易出…...

APRSPacketLib:嵌入式C库实现APRS协议编解码

1. APRSPacketLib 项目概述 APRSPacketLib 是一个专为业余无线电(Ham Radio)领域设计的轻量级嵌入式 C 语言库,核心目标是 在资源受限的微控制器平台上高效完成 APRS(Automatic Packet Reporting System)协议数据包的…...

Ubuntu 24.04 内核 Kernel Panic 问题排查与解决流程(第二次出现该问题后,永久性解决)

问题描述 系统更新后重启,出现以下错误: Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)系统无法正常启动。问题原因分析 错误含义 内核在启动过程中无法找到并挂载根文件系统。unknown-block(0,0) 表示内核完全不知道…...

突破百度网盘限速瓶颈:BaiduPCS-Go命令行客户端完全指南

突破百度网盘限速瓶颈:BaiduPCS-Go命令行客户端完全指南 【免费下载链接】BaiduPCS-Go iikira/BaiduPCS-Go原版基础上集成了分享链接/秒传链接转存功能 项目地址: https://gitcode.com/GitHub_Trending/ba/BaiduPCS-Go 你是否厌倦了百度网盘那令人抓狂的下载…...

程序员副业指南:从技术到收入的10种变现路径

CSDN程序员副业图谱技术文章大纲副业方向概览技术博客与内容创作:分享技术经验、教程、行业见解在线教育与课程开发:录制视频课程、开设直播讲座开源项目与工具开发:参与或主导开源项目,开发实用工具自由职业与远程工作&#xff1…...

DSP题目:FFT算法的Matlab实现及其应用研究

DSP 题目:FFT算法的Matlab实现及应用研究最近帮室友调毕设的信号处理部分,他拿了个麦克风录的杂音,想把背景的50Hz工频噪音去掉,上来就问我“为啥我fft出来的峰不对”——害,这问题我刚学DSP的时候也踩过无数坑&#x…...

彩灯广告屏PLC控制S7-200程序:包含梯形图、接线图、原理图及IO分配与组态画面详解

彩灯广告屏的PLC控制S7-200程序 程序 我们主要的后发送的产品有,带解释的梯形图接线图原理图图纸,io分配,组态画面上周刚帮客户搞定了一套户外彩灯广告屏的PLC控制项目,用的还是经典的S7-200,本来以为老架构玩不出花…...

【FMCW雷达】频率调制连续波FMCW雷达系统(从波形生成到利用小胞平均常误报率CA-CFAR进行目标检测)【含Matlab源码 15242期】含报告

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞…...

构建企业级AI智能体:LangGraph多智能体框架实战指南

构建企业级AI智能体:LangGraph多智能体框架实战指南 【免费下载链接】langgraph Build resilient language agents as graphs. 项目地址: https://gitcode.com/GitHub_Trending/la/langgraph 在当今AI应用开发中,开发者面临着一个核心挑战&#x…...

嵌入式系统电源时序控制原理与实现

1. 电源时序控制基础概念在现代电子系统中,多电压域设计已成为常态。一个典型的嵌入式系统可能同时需要1.2V(核心逻辑)、3.3V(外设接口)和1.5V(特殊功能模块)等多种电压。这些电源的上电顺序对系…...

【应答器】基于matlab应答器特殊区段信息包报文编码仿真【含Matlab源码 15258期】

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞&#x1f49…...

别再只用SUM了!用Excel分析Kaggle数据集,我发现了这些销售秘密

别再只用SUM了!用Excel分析Kaggle数据集,我发现了这些销售秘密 作为一名常年与Excel打交道的业务分析师,我习惯了用SUM和VLOOKUP解决80%的问题。直到上个月,当我偶然下载了Kaggle上的牛油果销售数据集,才发现这个"…...

Java多线程实战:ReentrantLock与信号量Semaphore的5个高频使用场景解析

Java多线程实战:ReentrantLock与信号量Semaphore的5个高频使用场景解析 在Java并发编程领域,ReentrantLock和Semaphore是两个至关重要的同步工具。它们虽然都属于JUC(java.util.concurrent)包中的并发控制机制,但设计理…...

工业机器人嵌入式系统建模与自动化工具项目三基于RAPID指令的故障排查与项目实施

目录 一、 项目背景与研发目标 1.1 项目研发背景 1.2 项目核心目标 二、 项目全周期进展 2.1 需求分析与环境搭建阶段(完成度100%) 2.2 核心模块编码开发阶段(完成度100%) 2.3 功能调试阶段(核心故障爆发…...

1220亿美元!OpenAI创下史上最大融资纪录;DeepSeek连续三天发生服务异常;Claude Code 51万行源码泄露 | 极客头条

「极客头条」—— 技术人员的新闻圈!CSDN 的读者朋友们好,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。(投稿或寻求报道:zhanghycsdn.net)整理 | 苏宓出品 | CSDN(ID&…...

OpCore-Simplify:一键自动化黑苹果配置,让复杂技术变得简单

OpCore-Simplify:一键自动化黑苹果配置,让复杂技术变得简单 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify OpCore-Simplify是…...

新手入门:零基础借助快马生成你的第一个openmaic网页版调用程序

今天想和大家分享一个特别适合新手入门的实践项目——如何借助InsCode(快马)平台快速生成你的第一个openmaic网页版调用程序。作为一个刚接触AI开发的新手,我最初看到各种API文档和代码示例时也是一头雾水,但通过这个可视化工具,居然半小时就…...

一个月突变!Linux内核大佬懵了:上个月还是“AI垃圾”,这个月AI Bug报告却突然靠谱?

整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)最近在做开源项目维护的开发者,可能会有一种奇怪的错觉:Bug 似乎报告变多了,而且变准了——更准确地说,是 AI 报的 Bug,突然开始“靠谱了”。…...

芯片缺货潮下的应对策略与国产替代方案

1. 芯片缺货潮下的行业现状最近我的一个产品项目中,原本采购价仅5元的ST品牌MCU(微控制器)价格飙升至70元,涨幅高达14倍。这个案例并非个例,而是当前全球半导体行业供应链危机的缩影。作为从业十余年的硬件工程师&…...

MCP3208 12位SPI ADC嵌入式驱动与硬件设计实战

1. MCP3208芯片深度解析:面向嵌入式系统的12位8通道SPI模数转换器工程实践1.1 芯片定位与核心价值MCP3208是Microchip公司推出的逐次逼近型(SAR)模数转换器,专为资源受限的嵌入式系统设计。其核心价值在于以极简硬件接口&#xff…...

AI命理工具实测:主流大模型八字紫微能力对比及避坑指南

1. AI命理新风向:当大模型碰撞传统术数 最近身边刮起了一阵“AI命理”的热潮:做开发的朋友电脑里存着排盘工具包,运营岗的同事午休时在研究紫微斗数星曜含义,就连开策划会的间隙,都有人拿着AI输出的六爻结果讨论项目走…...

GLM-4.1V-9B-Base实战教程:跨境电商A+页面图像卖点自动提炼

GLM-4.1V-9B-Base实战教程:跨境电商A页面图像卖点自动提炼 1. 为什么需要自动提炼图像卖点 跨境电商卖家每天需要处理大量商品图片,传统人工标注方式存在三个痛点: 效率低下:一个运营人员每天最多处理50-100张图片成本高昂&…...

Vivado Design Suite中BUFG优化策略与实战技巧

1. 理解BUFG的核心作用与设计痛点 在FPGA设计中,时钟信号就像人体神经系统中的电脉冲,需要快速、准确地传递到每个功能单元。BUFG(全局时钟缓冲器)就是Xilinx器件中专用的"信号放大器",它能将时钟信号分配到…...