CUDA 性能优化学习笔记 主要是关于 warp 层面

1.warp divergence

当一个 warp 中的线程遇到条件分支走不同的分支时,因为硬件一次只能发生相同的指令,所以必须串行执行。

2.处理 warp divergence

分支条件按照 warp 对齐;用算术运算代替条件指令;循环统一退出条件;数据重排

3.为什么需要 warp shuffle

避免消耗昂贵的共享内存,避免 syncthread 同步

4.寄存器交换

__shfl_sync 参数分别是参与线程、提供的值,获取线程的编号

总结 除了 warp divergence 还有 bank conflict 性能问题,一个是硬件层面指令发射,一个是共享内存层面的问题,有不同的解决方法,然后寄存器通信可以避免共享内存使用,有很多好处,寄存器更快。

bank conflict 也会把并行变串行因为不能同时访问一个 bank 的不同地址,warp divergence 是因为不能在硬件对同一个线程束线程发布不同指令。

相关推荐
怕浪猫10 小时前
2026 年 AI Agent 面试到底考什么?这套题库覆盖了 90% 的高频考点
面试·aigc·ai编程
ii_best13 小时前
按键精灵手机端开发安卓版实战:手写一个可最小化、可拖动的「运行日志悬浮窗」(附完整 源码 + 踩坑记录)
android·ios·智能手机·自动化·ai编程·按键精灵
VIP_CQCRE14 小时前
Visual Studio 也能接入统一 AI 能力:用 Ace Data Cloud + LMLocal 打通 OpenAI 兼容模型
openai·ai编程·开发工具·visual studio·acedatacloud
VIP_CQCRE15 小时前
在 Visual Studio 里接入 AI 编程助手:用 Ace Data Cloud + LMLocal 打通 OpenAI 兼容模型
ai编程·visual studio·openai兼容·ace data cloud·lmlocal
张晓宇 .15 小时前
Codex 使用教程(2026年9月 0.158 最新版):安装、国内接入 DeepSeek / GPT-6、config.toml 配置与报错排查
gpt·大模型·openai·ai编程·codex·deepseek
泯泷17 小时前
AI 该怎样"记笔记"?——四种记忆格式与认知科学(二)
人工智能·agent·ai编程
战族狼魂17 小时前
AI Agent核心能力解析
面试·ai编程
Alson_Code18 小时前
从0到1打造个人专属编程智能体
人工智能·langchain·ai编程