Virtual Memory and TLB
AI Generated Abstract
本篇博客详细介绍了虚拟内存和地址转换的相关概念,包括虚拟地址空间的划分、保护模式下的进程运行机制、地址转化的具体步骤(逻辑地址到线性地址、线性地址到物理地址)、TLB 的作用及其工作原理,并简要说明了 Linux 系统对段式管理的处理方式。通过图文结合的方式,帮助读者更好地理解虚拟内存和 TLB 的核心原理。
AI Generated Abstract
本篇博客详细介绍了虚拟内存和地址转换的相关概念,包括虚拟地址空间的划分、保护模式下的进程运行机制、地址转化的具体步骤(逻辑地址到线性地址、线性地址到物理地址)、TLB 的作用及其工作原理,并简要说明了 Linux 系统对段式管理的处理方式。通过图文结合的方式,帮助读者更好地理解虚拟内存和 TLB 的核心原理。
AI Generated Abstract
本文介绍了 BP 算法(反向传播算法)的基本原理及其在神经网络中的应用。内容包括神经元结构、网络结构、损失函数的定义与计算,以及 BP 算法的数学推导和实现过程。最后,通过一个简单的 3 隐层神经网络实现,展示了 BP 算法在手写数字分类任务中的实际应用。
AI Generated Abstract
本文介绍了 TensorFlow 的分布式计算方法,包括单机和多机场景下的配置与优化。在单机模式中,讲解了如何通过 log_device_placement 参数查看设备分配、使用 tf.device 指定设备,以及通过设置 CUDA_VISIBLE_DEVICES 环境变量优化显存使用。在多机模式中,分析了 In-graph 和 Between-graph 两种分布式训练模式的特点及应用场景。
在并行计算领域,很难通过纯理论的分析来确定程序的性能,GPGPU
这种基于特定计算架构的计算任务更甚。事实上,很多制约并行算法性能的瓶颈很可能不在算法本身(比如资源调度障碍)。因此,对给定程序进行充分的性能测试与后续分析是相当必要的调优方法。
Nvidia
提供了nvprof
,nvvp
,Nsight
三种 cuda 可用的性能分析工具,本文将简述配合使用nvprof
与nvvp
的 cuda 程序性能分析方法。
AI Generated Abstract
本篇博客总结了 CUDA 内存管理中的寄存器和共享内存的基本概念、优化方式及其在 GPU 编程中的应用。通过对寄存器映射方式、共享内存的存储体架构以及优化策略的详细分析,结合归并排序的示例代码,展示了如何利用共享内存和寄存器提升 GPU 程序性能。此外,文章还探讨了 atomicMin 函数、并行归约以及混合算法在共享内存优化中的实际应用,为 CUDA 编程提供了实用的优化思路。
这里是浙江大学超算队的官方博客
记录一些前沿的 Tech 姿势、大家平时的 DeBug 经历、还有 ASC 世界超算大赛的经验分享!
希望这个博客不仅仅是给以后的小盆友们提供宝贵的经验 更是诸君技术的记录与提升的大好机会
平时我们写着代码 总是不愿意写文档 遇到了非常 Tricky 又神奇的 Bug 花了一下午终于解决了 却没有记录下来
很有可能很多的无谓的时间就会在以后被重复 这样的时间浪费 我们完全可以节省下来!
希望大家能享受在超算队一起学习的时光~ 从现在开始 把这段美好的时间变成字符 记录下来叭~~