
CUDA
文章平均质量分 94
papaofdoudou
我的藏经阁,用数学解释问题,用编程解决问题
展开
-
计算机如何思考与图灵完备
任意不图灵完备的硬件/语言都可以用图灵完备的硬件/语言来模拟,但是反之却不然。所有的图灵完备语言/硬件在计算上都是等价的,因为他们都用相同的表达能力。原创 2023-02-18 11:01:30 · 783 阅读 · 0 评论 -
解析CUDA FATBIN格式
它们分别是.nv_fatbin,__nv_module_id和.nvFatBinSegment三个段.进一步分析,.nv_fatbin和__nv_module_id属性是READONLY,而.nvFatBinSegment则是DATA,说明运行时.nv_fatbin和__nv_module_id为只读,而.nvFatBinSegment支持读写,说明CUDA的代码保存在nv_fatbin中,而nvFatBinSegment则放在数据段。原创 2024-03-30 20:31:16 · 1687 阅读 · 0 评论 -
NVIDIA-CUDA HPC 编程模型与内存管理初探
主存和现存在PCIE框架下可以做到互相访问,路径归纳如下:三种角色,两种存储,六种路径。1.HBM通过BAR透给了HOST,使HOST可以通过MMU给CPU访问,或者通过IOMMU给设备访问。2.相反,Host Memory并没有类似的BAR机制透给 PCIE设备端,PCIE设备端想要访问 HOST MEMORY必须经过 HOST IOMMU的映射一遍,加上PCIE端的SMMU映射,对于PCIE设备端(GPU)来说,要经过两层IOMMU翻译。所以从HOST端和GPU端看起来不太对称。原创 2021-11-12 19:37:56 · 3386 阅读 · 0 评论 -
Cuda异步计算并行编程原理和存储管理
优化时遵守的一些原则:1.Grid一定要给足block.2.Block内一定要给足thread,目的是提高并发WARP的数目,隐藏延迟.3.Block内线程的数目一定是warpsize的整数倍.每个warp的执行上下文(execution context,如程序计数器 和 寄存器等)在warp的整个生命周期内都被保存在片上内存(on-chip memory)。因此从一个执行上下文切换到另一个执行上下文是无开销的。原创 2022-12-17 07:49:21 · 2228 阅读 · 0 评论