LogoYet Another 何榜文's Blog

Yet Another 何榜文's Blog

MNN GPU float16 使用原理
发表于2024-03-11
我观察到 MNN 在使用 GPU OpenCL 时,会默认使用 float16 的格式,导致模型评测时时间不同,如图。因此查看了 MNN 的源码,发现了一些有趣的东西。 MNN 使用 MNN::BackendConfig::Precision_Low 时,会根据 GPU 的实际情况判断是否使用 float16 的数据格式。代码随附。 当导出的模型可以使用 float32 或者 float16 保存,当权重转换到 GPU 上时,会转换格式,在代码的第19行到第22行。代码随附。 Pipeline 中保存的 tensor 指向的 opencl buffer 保存的还是 float16。但是 OpenCL::onMapTensor 和 OpenCL::onUnmapTensor 的实现保证了映射前后得到的是 float32。OpenCLBackend::onAcquire 给出了 tensor 中保存的 buffer 格式,其中调用了 isSupportedFP16 判断目前是否支持 float16,如果支持则使用 float16 的大小创建 buffer。 OpenCLBacken...
1…45
avatar
何榜文
文章
41
标签
66
分类
7
Follow Me
公告
One week is 2% of a year
最新文章
DeepSeek-V4 架构全解:百万token时代的效率革命2026-04-26
ld 加载器如何规避 glibc 版本冲突:交叉编译的底层机制解析2026-03-26
Torch Chunked Gated Delta Rule 并行优化指南2026-03-19
SonicMoE - 加速 MoE 模型的 IO 与 Tile 感知优化2026-03-18
ARM 架构深度学习推理指令集的演进与技术范式分析报告2026-03-13
分类
  • AI1
    • Deep Learning1
  • AI 系统1
  • Effective STL6
  • 系统编程1
  • 论文解读1
    • AI 系统1
标签
MQA ViT ONNX Containers Qwen bfloat16 LLM GPU MoE bing-search-api MHA video summarization std::threads Whisper VLM MNN cosplay clip Qwen2.5-VL Delta Rule Functor transformer Vision Transformer 多模态大模型 String self-attention 动态链接 性能优化 Transformer opencl Iterator 大模型 software engineer LLaMa2 RMSNorm C++ HuggingFace STL 加载器 数值精度
归档
  • 四月 2026 1
  • 三月 2026 8
  • 七月 2025 1
  • 六月 2025 5
  • 四月 2025 1
  • 三月 2025 2
  • 二月 2025 4
  • 十一月 2024 2
网站信息
文章数目 :
41
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2025 - 2026 By 何榜文框架 Hexo 7.3.0|主题 Butterfly 5.5.4