- 博客(5)
- 收藏
- 关注
原创 MNN 量化原理解析:FP32转FP8
文章摘要: 本文详细解析了IEEE754标准中FP32浮点数的存储原理,包括符号位、阶码和尾数码的设计方法。FP32采用1位符号位、8位阶码(偏置127)和23位尾数码,通过科学计数法表示数值。重点介绍了MNN框架中FP32转FP8(E5M2格式)的量化过程,包括符号位保留、阶码偏置调整(自定义偏置24)和尾数截断(保留2位)。量化代码通过位操作提取各字段,并限制偏移范围在[-24,7]之间,最终重组为8位浮点数。该过程会带来精度损失,但能显著减少存储空间。
2025-08-09 21:13:54
961
原创 C++ std之call_once()原理解析
本文介绍了C++11中std::call_once的用法及其实现原理,重点分析了如何利用该机制实现线程安全的单例模式。文章首先展示了一个自定义单例模式在多线程环境下的缺陷,随后详细解析了std::call_once的源码实现,包括其内部通过lambda封装调用、执行器包装以及最终调用POSIX线程库的pthread_once等关键步骤。最后以MNN框架中的实际应用为例,演示了如何通过std::call_once配合std::once_flag实现线程安全的单例初始化。该机制能确保函数在多线程环境下仅执行一次
2025-07-27 21:42:36
613
原创 C++之thread_local
thread_local是C++11引入的关键字,该关键字会影响一个变量的存储周期。本文简单介绍C++的存储周期以及该关键字带来的影响。
2024-10-15 00:34:36
1013
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅