《阿里云:2023弹性计算GPU云服务器底层技术讲解及ECS最佳实践合辑指导及场景应用(118页).pdf》由会员分享,可在线阅读,更多相关《阿里云:2023弹性计算GPU云服务器底层技术讲解及ECS最佳实践合辑指导及场景应用(118页).pdf(118页珍藏版)》请在三个皮匠报告上搜索。
1、阿里云开发者“藏经阁”海量电子手册免费下载导论本书选自 2023 年弹性计算社区的专题分享精华,集合 GPU 云服务器底层技术及实例使用详细讲解,主要为企业的实际场景业务,带来更多专业、底层的技术解决方案,提高 GPU 使用率,提高实例性价比。本书也集合了针对开发者们的热门、好玩的实践活动。目录页第 1 章GPU 云服务器底层技术篇.51.技术改变 AI 发展:CUDA Graph 优化的底层原理分析.52.技术改变 AI 发展:RDMA 能优化吗?GDR 性能提升方案.103.Ada Lovelace 架构解读及 RTX 4090 性能测试分析.16第 2 章GPU 云服务器实例使用篇.30
2、1.单实例上运行 Linux 桌面多开解决方案.302.vGPU 资源利用率的提升、监控与告警的实现.543.vGPU 驱动自动安装和升级.604.自动安装 NVIDIA GPU 驱动和 CUDA 组件.68第 3 章ECS 四大热门场景应用.741.所以!云服务器也可以玩转大模型?.742.免费试用 ECS,轻松搭建 WordPress 博客平台使用.863.ECS 部署 2048 小游戏.934.跟着技术蛋老师动手搭建 7*24 小时直播间.105第 4 章GPU 云服务器 AIGC 热门场景应用.1071.用 AI 唤醒老照片里的记忆(GPU 版).1072.三张搞定 AI 形象照,开启
3、 GPU 即刻体验.111第 1 章GPU 云服务器底层技术篇1.技术改变 AI 发展:CUDA Graph 优化的底层原理分析简介:随着人工智能(AI)的迅速发展,越来越多的应用需要巨大的 GPU 计算资源。CUDA 是一种并行计算平台和编程模型,由 Nvidia 推出,可利用 GPU 的强大处理能力进行加速计算。CUDA 异步执行模型对于 GPU 运算集中的 AI 应用场景,为了提升系统的性能,最大化地利用 GPU 资源是一个重要的优化方向。比较常用的方式是尽量将 GPU 运算转换为异步操作,CPU 侧负责任务提交,保证有足够的 cuda kernel 发送到 GPU,GPU 按照 CUD
4、A Stream 流队列中的 Kernel 顺序执行。只要这中间不存在同步操作,GPU 完全可以不用等待,顺序地将所有的 kernel 执行完,然后再通知 CPU。CPU 运算和 GPU 运算是相互独立的协作关系。以上的模型是一个理想化的状态,听起来合乎逻辑,而且很完美。大致的运行效果如图1。可以看到 CPU 通过 CUDA API 已经将 Kernel 提前准备好,GPU 的任务一个接一个。GPU 的利用率也比较高。图 1 GPU 异步执行的典型场景对于一般的性能优化,达到这种状态已经很好了。但如果想进一步的优化就需要知道模型的实际运行情况。随着 GPU 算力的提升,计算任务的执行时间在慢慢
5、缩小,一个 GPU 执行单元可能在 us 或者 ms 级完成。通常情况下一个好的 AI 运算框架或模型应该尽量让 GPU Kernel 的运算时间长一些,从而使得 GPU 的性能能够更好地发挥,因为有个事实是:GPU Kernel 提交到硬件也是有开销的,虽然这个时间可能只有 0.x us。这里的提交不是指的 cudaLaunchKernel而是更底层驱动和硬件之间的真正的提交。如果业务场景中有很多小的 us 级 Kernel 要执行,则整个系统的性能会随着短 Kernel的比例增加整体性能输出越来越差,GPU 资源并不能充分利用起来。CUDA Graph 性能优化效果CUDA Graph 可
6、以通过 Capture 或 Create 的方式将多个 Kernel 组合在一起生成一个Graph,与 Kernel 融合不同,在 Graph 内部仍然是多个 Kernel 的形式存在,但提交操作只需要一次,如果可以将尽量多的 Kernel 组合在一起,那么理论上可以节约很多 Kernel 提交的开销。但 CUDA Graph 也有其自身的限制,它的设计思路是将多个任务单元作为一个快照进行组合,也就意味着这个快照的参数和结构组成是固定的,不能变换,同时实例化这个快照是比较耗时的,但如果这个快照被反复执行(replay)的次数足够多,实例化快照的时间是可以忽略的。以一个简单的 Kernel 为例