- 博客(61)
- 收藏
- 关注
原创 除余操作与位运算
使用位运算替代除法和取余操作,特别是当除数是 2 的幂次时。这种优化几乎没有任何代价,但能带来显著的性能提升。在实际编程中,应该养成使用位运算的习惯,特别是在线程索引计算、内存地址计算等高频操作中。在 CUDA 编程中,
2025-11-22 19:10:06
683
原创 测试GPU如何调度多个blocks到SM上执行(演示block scheduler)
/一个MS里能同时驻留的block数量是限制的, (Maxwell、pascal、volta:32、ampere:16)clock_t:CUDA的特殊计时器类型 用于存储从GPU启动开始计算的时钟周期数 64位宽(clock64()返回的值)//gettimeofday(&tp, NULL)是 Unix/Linux 系统中获取当前时间的系统调用函数。计算经过的时间:(t1-t0)/(CLOCK_RATE*1000.0f)// 每个GPU线程执行sleep(1.0),即"睡眠"1秒。
2025-05-24 23:47:15
729
原创 LD/ST Unit 详解
:LD/ST 单元是 GPU 实现高效并行计算的“数据搬运工”,其设计与优化直接决定了 GPU 在复杂任务中的实际性能上限。
2025-05-23 13:07:20
656
原创 CPU里的“数学小能手”——ALU超详细通俗指南
ALU(算术逻辑单元)** 是CPU的“核心计算器”,专门负责处理所有数学题(加减乘除)和逻辑判断题(比如“今天下雨了吗?举个栗子🌰:当你在手机计算器输入“1+1”时,就是ALU在幕后疯狂输出“2”——它就像藏在CPU里的数学课代表,专门负责解算术题!:早期的ALU不会做除法,现代ALU已经进化到能处理复杂运算了1。
2025-05-20 08:58:56
1376
原创 寄存器 vs 内存 vs 缓存 vs GPU共享内存 —— 计算机存储的“四重人格”大揭秘
做AI训练时,GPU线程们把数据切片丢进共享内存,集体疯狂并行计算。刷抖音时,缓存会把你看过的视频片段偷偷存起来,下次秒开不卡顿。打开Photoshop时,你的设计图就躺在内存里随时待命。时,寄存器的任务就是抱着。疯狂累加,绝不摸鱼。
2025-05-11 15:41:07
408
原创 核函数(Kernel function)
主机代码 //一般将GPU运行后的数据回传给CPU主机, 还会进行对CPU GPU内存的释放工作。 主机代码 //一般对GPU进行配置以及数据处理的内容。 核函数调用 //进行并行加速数据处理。
2025-05-06 19:25:37
441
原创 GPU性能加速的隐藏魔法:Dual-Issue Warp Schedule全解析
想象你是一个GPU的老板(比如NVIDIA老黄),手下有几万个"线程员工"要管理。直接让几万人同时开会?那得疯。于是你发明了"Warp"(线程束)——把32个线程打包成一个小组,像军训方阵一样统一指挥。,就是你这个老板给这些方阵排班表的技术:决定哪个方阵先干活,哪个去摸鱼等资源。传统GPU里,每个时钟周期只能给一个Warp发一条指令(Single-Issue),就像食堂阿姨每次只给一个学生打菜——效率全看队伍排得多整齐。但程序员们贪心啊,总想压榨GPU的每一滴性能,于是应运而生!
2025-05-05 20:39:50
853
原创 程序员必读!GPU Latency优化指南——让数据跑得比博尔特还快
举个例子:GPU核心明明能每秒处理万亿次计算,但如果等数据的时间比算数据还长,就像博尔特跑百米却花了90米等起跑令!优秀的程序员像F1赛车工程师:通过精细调校(代码优化)、战术设计(算法改进)和团队协作(硬件配合),让每一纳秒的延迟都成为超越对手的机会。如果把GPU比作一台超级跑车,**Latency(延迟)**就是它加速时遇到的空气阻力——虽然看不见,却能让你明明有1000匹马力的引擎,实际跑起来却像堵在早高峰。就像顶级魔术师,观众看到的只是绚丽的烟火,而看不到背后精准到毫秒的机关操控。
2025-05-04 22:23:44
546
原创 SM:显卡里的「霍格沃茨」,如何把数据变成魔法咒语?
它不追求单线程的智商(频率),而是靠人海战术(核心数量)和军事化管理(调度器)。所以下次当你的显卡呼呼作响时,记得对它说:“SM车间辛苦了,今晚给你清灰!附:SM冷知识老黄(黄仁勋)的核武器:SM架构每一代都在升级(比如从Volta到Ampere)。隐藏关卡:SM里甚至还有Tensor Core(AI专用加速器),但那是另一段故事了…
2025-05-04 10:38:54
1128
原创 并行计算三剑客:5分钟看懂SIMD、SIMT与MIMD差异
现代芯片正走向异构计算CPU核心:MIMD处理复杂逻辑GPU核心:SIMT加速并行计算NPU核心:SIMD优化AI推理理解这三种范式,你就能像搭积木一样设计出高性能系统!
2025-05-03 21:29:37
705
原创 CUDA输出“hello world”
在我们学习任何一门编程语言的时候, 无疑当我们真正用其输出“hello world”的时候, 我们已经成功入门, 接下来要做的就是从入门到放弃了😆。
2025-05-03 13:13:30
306
原创 深入理解C++构造函数:从入门到实践
没有参数的构造函数当你没有定义任何构造函数时,编译器自动生成用于创建对象时不传递参数的情况public:// 成员初始化方法一: 函数体内初始化Smartphone() { // 默认构造函数// 默认存储容量cout << "手机已激活!" << endl;// 成员初始化方法二: 初始化列表// 默认构造函数使用初始化列表: storage(128), // 初始化列表语法brand("Unknown") // 成员变量直接初始化cout << "手机已激活!
2025-05-02 17:03:40
498
原创 Python学习之Seaborn
Matplotlib需要大量的代码创建细节,而seaborn可以说是高级封装形成的一个“快捷方式”,相比Matplotllib,seaborn代码更简洁,美观,但缺点是很多内容是固定的,定制化能力较差。如果说Matplotlib试图让简单的事情变得容易,让困难的事情成为可能,那么Seaborn试图让一组定义明确的复杂的事情变得简单.编码方式:Figure-Level & Axes-Level。
2025-04-19 19:00:00
197
原创 Python学习之Matplotlib
Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过Matplotlib,开发者可以仅需要几行代码,便可以生成饼图,直方图,功率谱,条形图,错误图,散点图等。
2025-04-18 16:58:40
326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅