Colibrì · 第 8 章 CPU/GPU 异构执行


文档摘要

Colibrì · 第 8 章 CPU/GPU 异构执行 章节摘要:本章深潜 Colibrì 的异构执行——CPU + CUDA + Metal + Vulkan 共享一个运行时。backendloader.c 动态后端加载(运行时按需加载 .so/.dll/.dylib);backendcuda.cu(CUDA 层)/backendmetal.mm(Metal 层)/backendvulkan.c(Vulkan 层)三个可选后端,各自编译开关(CUDA=1/METAL=1/VULKAN=1)。GPU shaders(attentionabsorb.comp/qmatmul.comp/rmsnorm.comp)。CPU/GPU 重叠隐藏传输而非移动瓶颈。omptune.

Colibrì · 第 8 章 CPU/GPU 异构执行

章节摘要:本章深潜 Colibrì 的异构执行——CPU + CUDA + Metal + Vulkan 共享一个运行时。backend_loader.c 动态后端加载(运行时按需加载 .so/.dll/.dylib);backend_cuda.cu(CUDA 层)/backend_metal.mm(Metal 层)/backend_vulkan.c(Vulkan 层)三个可选后端,各自编译开关(CUDA=1/METAL=1/VULKAN=1)。GPU shaders(attention_absorb.comp/qmatmul.comp/rmsnorm.comp)。CPU/GPU 重叠隐藏传输而非移动瓶颈。omp_tune.h OpenMP 调优。本章共 3 节,前置依赖为第 1-7 章。

深潜坐标

学习目标

  1. 理解 CPU/GPU 共享运行时的异构执行。
  2. 读懂 backend_loader.c 动态后端加载。
  3. 认识三个可选后端(CUDA/Metal/Vulkan)。
  4. 了解 GPU shaders(attention_absorb/qmatmul/rmsnorm)。
  5. 理解 CPU/GPU 重叠与 omp_tune。

子章节导航

01 backend_loader.c 动态后端加载

运行时按需加载后端(.so/.dll/.dylib);可选编译(CUDA=1/METAL=1/VULKAN=1);统一后端接口;无GPU也能跑(纯CPU);backend_gpu_compat.h 兼容层。

02 CUDA/Metal/Vulkan 三后端

backend_cuda.cu(CUDA专家驻留+CUDA_EXPERT_GB=auto+PIN_GB);backend_metal.mm(Metal MTLHeap/MTLResidencySet实验E5);backend_vulkan.c(Vulkan跨平台.qmatmul.spv预编译);GPU shaders(attention_absorb/qmatmul/qmatmul_gate_up/rmsnorm .comp);运行时编译vs预编译spv。

03 CPU/GPU 重叠与 OpenMP 调优

CPU/GPU重叠隐藏传输而非移动瓶颈(诚实假设:快CPU+低驻留可能抹平GPU收益);omp_tune.h OpenMP线程调优;NUMA内存;partial/full expert residency;per-stage profiles与one-variable A/B。

前置知识与后续延伸

前置:第1-7章。后续:第9章深潜CLI/服务/Web全栈。


作者与出处
原作者: 灏天文库
整理: 灏天文库整理
本站整理收录,版权归原作者/开源协议所有;欢迎通过原文链接访问源仓库。
发布者: 作者: 灏天文库 转发
评论区 (0)
U