自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 工厂模式详解

本文详细解释了三种工厂模式的原理,从根本上阐明了产品与工厂之间的关系,以及工厂模式想要解决的问题

2025-01-05 23:08:09 886

原创 C++之子类继承与父类构造

本文详细介绍了C++子类实例化时,如何调用父类的构造函数。主要场景包括单继承,多继承,链式继承

2024-10-19 16:46:05 1254

原创 C++之thread_local

thread_local是C++11引入的关键字,该关键字会影响一个变量的存储周期。本文简单介绍C++的存储周期以及该关键字带来的影响。

2024-10-15 00:34:36 1013

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除