CUDA Graph 介绍
解决 cudaLaunchKernel 调用次数过多以及避免 CPU-GPU 交互瓶颈.亮点在于一次性提交整个计算图、GPU 可以直接执行预编译的指令序列从而消除大量启动开销.
解决 cudaLaunchKernel 调用次数过多以及避免 CPU-GPU 交互瓶颈.亮点在于一次性提交整个计算图、GPU 可以直接执行预编译的指令序列从而消除大量启动开销.
PyTorch 中三条 AI 编译器的技术路线,现在主要采用的是 TorchDynamo 技术路线
循环优化 指令优化 利用 AVX-512, SVE 等向量指令和 Tensor Core 等硬件特性,提升并行计算性能. 向量化指令 张量化指令 主要是 GPU 中的张量计算单元,如 NVIDIA GPU 的 Tensor Core,提供硬件...
内存管理优化的思路主要是: 调整分配、释放的时间点和次数,减少分配、释放内存给运行时带来的时间开销 优化分配过程,尽可能减少总的内存占用。例如,通过跟踪计算图,只分配 peak 所需的内存 常规的做法的话,一般跑两次: 第一次是 AI Comp...
图层优化 将一种计算图结构,在不改变算数结果的情况下,基于设定好的规则,对计算图进行相应的图替换操作. 读写冗余:一些计算场景中存在重复读写内存、或者内存访问不连续,降低 cache hit rate,导致多余的内存传输 结构冗余:模型存在无效的...
从 Top Level 视角看 AI 编译器技术