- 博客(7)
- 收藏
- 关注
原创 使用vs code/cursor插件给markdown导出带有标签的pdf文件
本文介绍了在MarkdownPreviewEnhanced中生成PDF(Prince)的完整步骤:首先下载插件并切换预览模式,然后安装PrinceXML并配置环境变量。安装成功后,在预览模式下选择导出PDF即可。文中还提醒用户注意避免同名文件导致的错误,删除同名文件后可成功生成带标签的PDF文档。
2025-12-18 17:55:12
475
原创 NVIDIA GPU架构代际变化与Shared Memory的演进
本文根据 NVIDIA 官方文档,梳理了 NVIDIA GPU 不同代际架构中 Shared Memory(共享内存)的变化,特别是关于 Bank Conflict 的处理和优化。
2025-09-10 15:00:06
1768
原创 【CUDA统一内存架构】简化GPU编程的关键技术
CUDA统一内存通过和关键字提供了简化的编程模型,让开发者无需手动管理内存传输。其核心思想是提供统一的虚拟地址空间和按需页面迁移机制。虽然统一内存简化了编程,但需要注意性能优化,合理使用预取、内存建议和同步机制可以最大化其优势。对于性能关键的应用,建议结合使用固定内存和统一内存来获得最佳性能。统一内存特别适合快速原型开发和具有复杂内存访问模式的应用程序,但在追求极致性能的场景下,仍然需要精细控制内存操作。
2025-09-09 15:00:00
1368
原创 【GPU开发面试题集锦】CUDA开发基本概念
Grid(网格)是什么:Grid是最高级别的组织单位,代表启动一个内核时所产生的所有线程的集合职责:定义整个计算任务的规模,由1维、2维或3维的Block阵列组成Block(线程块)是什么:Block是Grid的组成单位,是一组线程的集合职责协作:Block内的线程可通过共享内存高速通信和协作同步:Block内的线程可通过**** 屏障进行同步分配:Block是GPU硬件分配资源的基本单位重要限制:不同Block内的线程无法直接通信或同步Warp(线程束)是什么:GPU硬件的。
2025-09-08 15:00:00
1536
原创 【CUDA极简入门系列二】矩阵运算实现方案
矩阵乘 C = A × B 的朴素公式:C(i,j) = Σ A(i,p)·B(p,j),p 从 0 到 n-1。在 GPU 上,我们把 (i,j) 映射到线程坐标,再用共享内存缓存 Tile,大幅减少访存延迟。
2025-09-05 15:00:00
399
原创 【CUDA 极简入门系列一】7 步跑通 GPU 向量相加
把两个数组相加,用 GPU 并行完成,再取回结果——这就是 CUDA 的“Hello World”。
2025-09-04 15:00:00
217
原创 什么是Bank Conflict
为了理解 Bank Conflict,首先要明白共享内存是如何组织的。高速并行访问的需求:共享内存的带宽极高,理论上每个时钟周期可以同时服务多个数据访问请求。为了实现这一点,它被分成了多个同样大小、能同时被访问的模块。Bank 的定义:这些模块就叫做Bank。可以将共享内存想象成一个由多列(Bank)组成的表格:行:共享内存的每个 32-bit 字(Word)都有一个连续的地址。列:这些地址被交错地(Interleaved)映射到不同的 Bank 上。目前主流的 NVIDIA GPU 通常有。
2025-09-03 15:00:00
927
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅