- 博客(57)
- 收藏
- 关注
原创 测试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
655
原创 LD/ST Unit 详解
:LD/ST 单元是 GPU 实现高效并行计算的“数据搬运工”,其设计与优化直接决定了 GPU 在复杂任务中的实际性能上限。
2025-05-23 13:07:20
423
原创 CPU里的“数学小能手”——ALU超详细通俗指南
ALU(算术逻辑单元)** 是CPU的“核心计算器”,专门负责处理所有数学题(加减乘除)和逻辑判断题(比如“今天下雨了吗?举个栗子🌰:当你在手机计算器输入“1+1”时,就是ALU在幕后疯狂输出“2”——它就像藏在CPU里的数学课代表,专门负责解算术题!:早期的ALU不会做除法,现代ALU已经进化到能处理复杂运算了1。
2025-05-20 08:58:56
453
原创 寄存器 vs 内存 vs 缓存 vs GPU共享内存 —— 计算机存储的“四重人格”大揭秘
做AI训练时,GPU线程们把数据切片丢进共享内存,集体疯狂并行计算。刷抖音时,缓存会把你看过的视频片段偷偷存起来,下次秒开不卡顿。打开Photoshop时,你的设计图就躺在内存里随时待命。时,寄存器的任务就是抱着。疯狂累加,绝不摸鱼。
2025-05-11 15:41:07
304
原创 核函数(Kernel function)
主机代码 //一般将GPU运行后的数据回传给CPU主机, 还会进行对CPU GPU内存的释放工作。 主机代码 //一般对GPU进行配置以及数据处理的内容。 核函数调用 //进行并行加速数据处理。
2025-05-06 19:25:37
358
原创 GPU性能加速的隐藏魔法:Dual-Issue Warp Schedule全解析
想象你是一个GPU的老板(比如NVIDIA老黄),手下有几万个"线程员工"要管理。直接让几万人同时开会?那得疯。于是你发明了"Warp"(线程束)——把32个线程打包成一个小组,像军训方阵一样统一指挥。,就是你这个老板给这些方阵排班表的技术:决定哪个方阵先干活,哪个去摸鱼等资源。传统GPU里,每个时钟周期只能给一个Warp发一条指令(Single-Issue),就像食堂阿姨每次只给一个学生打菜——效率全看队伍排得多整齐。但程序员们贪心啊,总想压榨GPU的每一滴性能,于是应运而生!
2025-05-05 20:39:50
685
原创 程序员必读!GPU Latency优化指南——让数据跑得比博尔特还快
举个例子:GPU核心明明能每秒处理万亿次计算,但如果等数据的时间比算数据还长,就像博尔特跑百米却花了90米等起跑令!优秀的程序员像F1赛车工程师:通过精细调校(代码优化)、战术设计(算法改进)和团队协作(硬件配合),让每一纳秒的延迟都成为超越对手的机会。如果把GPU比作一台超级跑车,**Latency(延迟)**就是它加速时遇到的空气阻力——虽然看不见,却能让你明明有1000匹马力的引擎,实际跑起来却像堵在早高峰。就像顶级魔术师,观众看到的只是绚丽的烟火,而看不到背后精准到毫秒的机关操控。
2025-05-04 22:23:44
439
原创 SM:显卡里的「霍格沃茨」,如何把数据变成魔法咒语?
它不追求单线程的智商(频率),而是靠人海战术(核心数量)和军事化管理(调度器)。所以下次当你的显卡呼呼作响时,记得对它说:“SM车间辛苦了,今晚给你清灰!附:SM冷知识老黄(黄仁勋)的核武器:SM架构每一代都在升级(比如从Volta到Ampere)。隐藏关卡:SM里甚至还有Tensor Core(AI专用加速器),但那是另一段故事了…
2025-05-04 10:38:54
987
原创 并行计算三剑客:5分钟看懂SIMD、SIMT与MIMD差异
现代芯片正走向异构计算CPU核心:MIMD处理复杂逻辑GPU核心:SIMT加速并行计算NPU核心:SIMD优化AI推理理解这三种范式,你就能像搭积木一样设计出高性能系统!
2025-05-03 21:29:37
408
原创 CUDA输出“hello world”
在我们学习任何一门编程语言的时候, 无疑当我们真正用其输出“hello world”的时候, 我们已经成功入门, 接下来要做的就是从入门到放弃了😆。
2025-05-03 13:13:30
264
原创 深入理解C++构造函数:从入门到实践
没有参数的构造函数当你没有定义任何构造函数时,编译器自动生成用于创建对象时不传递参数的情况public:// 成员初始化方法一: 函数体内初始化Smartphone() { // 默认构造函数// 默认存储容量cout << "手机已激活!" << endl;// 成员初始化方法二: 初始化列表// 默认构造函数使用初始化列表: storage(128), // 初始化列表语法brand("Unknown") // 成员变量直接初始化cout << "手机已激活!
2025-05-02 17:03:40
454
原创 Python学习之Seaborn
Matplotlib需要大量的代码创建细节,而seaborn可以说是高级封装形成的一个“快捷方式”,相比Matplotllib,seaborn代码更简洁,美观,但缺点是很多内容是固定的,定制化能力较差。如果说Matplotlib试图让简单的事情变得容易,让困难的事情成为可能,那么Seaborn试图让一组定义明确的复杂的事情变得简单.编码方式:Figure-Level & Axes-Level。
2025-04-19 19:00:00
152
原创 Python学习之Matplotlib
Matplotlib是一个Python的2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形.通过Matplotlib,开发者可以仅需要几行代码,便可以生成饼图,直方图,功率谱,条形图,错误图,散点图等。
2025-04-18 16:58:40
306
原创 Linux系统启动流程二
操作系统启动后运行的第一个程序是init[centos 6]、systemd[centos 7],pid为0,然后以树形结构启动其他进程 ,内核管理硬件,systemd管理上层应用程序。运行级别1:单用户工作状态,不需要输入账号密码的root权限,禁止远程登陆——>用于破解root密码。运行级别2:多用户模式(没有NFS[Network File System]),也就是没有网络。注:现在很多Linux系统都默认启动等级为5,如果我们要却换系统等级,可以使用init命令。运行级别4:系统未使用,保留。
2024-03-26 20:55:52
220
原创 考研失败想快速入行之面试山东某小公司运维工程师岗位(最有信心的一集)
简短的几分钟面试,我觉得我答的还可以,当然这些都是非常简单的问题,然后,第二天hr面才知道是劳务派遣,害。3月20,山东某公司派遣实习3k转正4.5k:(沟通了一千多次的第一份面试,太不容易了)怎么修改ip地址,网关,在哪个文件夹下面。怎么测试两个两台主机是否可以正常通信。说一些常用的Linux命令。
2024-03-21 14:31:10
262
1
原创 Linux虚拟机中磁盘分区的若干种方案
提示:此方法更灵活,比较适合业务线比较多需求不确定的大企业使用。第二种:数据库及存储角色的服务器,即有大量重要的数据业务。提示:本方案其实就是把重要数据单独分区,便于备份和管理。第三种:大门户网站,大型企业的分区思路。第一种:常规生产场景(工作)方案。LVM:在线调分区大小。
2024-03-21 12:08:40
811
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人