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

【PyTorch】请问,Reproducibility中的‘:4096:8‘是什么呀?

ChatGPT-o3-web

":4096:8" 是给 cuBLAS (NVIDIA 的 GPU 线性代数库)指定“工作区(workspace)配额”的一段简写。它出现在环境变量
CUBLAS_WORKSPACE_CONFIG 里,格式是 :[SIZE]:[COUNT]: (docs.pytorch.org)

字段含义这例子里
SIZE每块工作区的大小(以 KiB 为单位;1 KiB ≈ 1024 字节)4096 → 4096 KiB = 4 MiB
COUNT同一条 CUDA 流最多可以同时用到的工作区块数8
:(前导冒号)只是语法要求,让 cuBLAS 正确解析——

所以 ":4096:8" 告诉 cuBLAS:

“给每个 CUDA 流准备 8 块、每块 4 MiB 的内部缓冲区,总共大约占 32 MiB GPU 显存。”


为什么 PyTorch 文档会让你设置它?

  • 可重复(确定性)运算
    当你在 PyTorch 里执行

    torch.use_deterministic_algorithms(True)
    

    而你的 GPU 驱动 ≥ CUDA 10.2 时,一些 cuBLAS 算子在多条流并行时仍然可能用到随机大小的工作区,进而导致“同一代码两次运行结果略有不同”。把 CUBLAS_WORKSPACE_CONFIG 设为 :4096:8:16:8 可强制 cuBLAS 走一套“可重播(replayable)”的固定路径,从而保证完全一致的输出。(docs.nvidia.com)

  • 性能 vs. 显存占用

    • :16:8 只分配极小(16 KiB)的缓冲区——显存省、但可能慢;
    • :4096:8 给了 cuBLAS 充足的 4 MiB 工作区——显存多用一点(PyTorch 文档粗略说“大约 +24 MiB”),一般跑得更快。(docs.nvidia.com)

一句话记住
CUBLAS_WORKSPACE_CONFIG=:4096:8 = “8 × 4 MiB 工作区,换取多流也能保证结果可复现且速度不错”。

http://www.lqws.cn/news/452413.html

相关文章:

  • 20250620-Pandas.cut
  • aws(学习笔记第四十五课) route53-failover
  • 文件夹美化工具推荐,打造个性化电脑界面
  • 【网工】华为配置专题进阶篇④
  • 学习华为 ensp 的学习心得体会
  • 10分钟撸出高性能网络服务:吃透高性能优化:缓存_锁_系统调用_编译
  • 汽车整车厂如何用数字孪生系统打造“透明车间”
  • 【React】React CSS 样式设置全攻略
  • DAY 37 早停策略和模型权重的保存
  • RPGMZ游戏引擎 如何手动控制文字显示速度
  • 机器翻译与跨语言学习数据集综述
  • 情感大模型
  • “地标界爱马仕”再拓疆域:世酒中菜联袂赤水金钗石斛定义中国GI
  • vue3 reactive重新赋值
  • QEMU学习之路(10)— RISCV64 virt 使用Ubuntu启动
  • Linux故障排查与性能优化实战经验
  • AI浪潮下的自媒体革命:智能体崛起与人类价值的重构
  • Qi无线充电:车载充电的便捷与安全之选
  • servlet前后端交互
  • C++设计模式
  • 在VTK中捕捉体绘制图像并实时图像处理
  • uniapp开发小程序,导出文件打开并保存,实现过程downloadFile下载,openDocument打开
  • 【Python】Excel表格操作:ISBN转条形码
  • React Native【实战范例】弹跳动画菜单导航
  • 学习threejs,三维汽车模拟器,场景有树、云、山等
  • Nginx-Ingress-Controller自定义端口实现TCP/UDP转发
  • 大数据系统架构实践(一):Zookeeper集群部署
  • 局域网投屏工具(将任何设备转换为计算机的辅助屏幕)Deskreen
  • LVS负载均衡群集:Nginx+Tomcat负载均衡群集
  • Lora训练