代码编译
发表于|更新于|LLM
|浏览量:
CUDA 编程练习
编译程序
跳过 .o 文件,直接编译链接成可执行文件。
1 | nvcc xxx.cu -o xxx |
文章作者: xhj
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!
相关推荐
2025-12-03
分布式系统伸缩策略解析
好的,这是一个非常核心的分布式系统与云计算概念。我们来详细解析“水平伸缩”和“垂直伸缩”的含义、区别以及各自的应用场景。 1. 核心含义水平伸缩 含义:通过增加或减少实例的数量来应对负载变化。这通常意味着在负载高时,向资源池中添加更多的服务器/节点;在负载低时,移除多余的服务器/节点。 形象比喻:一个餐厅客人变多,老板不是让同一个服务员干得更快(垂直伸缩),而是雇佣更多的服务员来分担工作。 技术实现:通常依赖于负载均衡器,将进入的请求流量分发到后端多个无状态的服务实例上。在云环境中,这通常通过自动伸缩组来实现。 垂直伸缩 含义:通过升级或降级单个实例的资源配置(如CPU、内存、磁盘I/O)来应对负载变化。这通常意味着在负载高时,为服务器更换更强大的CPU或增加更多内存;在负载低时,降低配置以节省成本。 形象比喻:同一个服务员,通过让他参加培训、喝咖啡、使用更先进的工具,从而提升他个人的服务速度和能力。 技术实现:在物理机时代,这需要手动更换硬件。在云时代和虚拟化环境中,这通常可以通过改变虚拟机实例的规格(例如,AWS 从 t3.small 升级到...
2025-10-02
Ascend NPU 硬件架构入门
Ascend NPU 硬件架构入门一、概述昇腾 NPU 是专门用于 AI 训练/推理计算的 AI 专用处理器,其中的 AI Core 能够在很大程度上提高 AI 计算的效率。 本文将主要介绍 ASCEND NPU 的硬件架构 & 工作原理、AI Core 的计算模式以及异构计算平台 CANN 等内容。 二、NPU 硬件架构2.1 NPU SOC 架构2.1.1 Ascend 310 架构 AI Core:计算核心,负责执行矩阵、向量、标量计算密集的算子任务,采用达芬奇架构; AI CPU:承担非矩阵类复杂计算,即负责执行不适合跑在 AI Core 上的算子; TS Core:作为任务调度器(Task Scheduler,TS),以实现计算任务在 AI Core 上的高效分配和调度(专门服务于 AI Core 和 AI CPU,不承担任何其它的工作); ARM CPU:控制芯片整体运行; DVPP:数字视觉预处理子系统,完成图像视频编解码; Cache & Buffer。 2.1.2 Ascend 910 架构 AI Core:32 个,上下各 16 ...
2025-11-02
Profiling 分析指南
Profiling 分析指南Ascend NPU + MindStudio Insight关键文件: trace_view.jsonkernel_details.csvop_stastic.csv kernel_details.csv 分析指南: 冻结首行,start time 排序,只看一个 layer 的数据。数量比较多的 stream id 就是“主流”,其它的是通信流、共享专家流(实现计算通信并行)。静态/动态算子。Duration(优化目标):尽量让算子达到计算 bound,减少访存 bound -> 判断优化方向。判断性能瓶颈:每个算子的时间除以整个 layer 的时间,再转换为百分比的形式 -> 判断优化重点。 trace_view.json 分析指南: 一般不用关注 CANN 这一层。算子的实际执行时间主要看 Ascend Hardware 这一层。AI Core Freq:当芯片温度比较高时,可能会出现降频,导致计算性能下降。 CV 并行:cube 和 vector 是相互独立的计算单元,可以放到两条流上并行计算(但是会争访存带宽)。 bu...
2025-10-08
vLLM 多模态推理|卷积计算加速
vLLM 多模态推理|卷积计算加速一、引言卷积运算是 VL 等多模态模型在处理图像、视频等数据时的核心步骤之一,使用 img2col 算法可以将输入数据和卷积核展平为两个大的矩阵,并通过一次高效的矩阵乘法得到卷积结果,从而极大地提升计算的效率。本文将详细讲解 img2col 算法的基本原理和代码实现,并对 vLLM 中的卷积算子进行介绍。 二、卷积的基本原理在讲解 img2col 算法之前,我们先简单介绍下什么是卷积运算(Convolution)。 简单来说,卷积运算就是一个小窗口(一般称为“卷积核”或“滤波器”)在一个大的输入数据(如图片)上滑动,并在每个位置计算点积,最终生成一个新的、更精炼的特征图的过程。其中,卷积核一般使用正方形,比如在下图中,使用的就是一个 3 x 3 的卷积核(卷积核的通道数 = 输入的通道数,一般为 3,代表图像的红、绿、蓝三种颜色)。 卷积的计算过程: 属于同一输入通道的卷积核在对应的图像数据上进行滑动,并在每一个位置处计算这 9 个数据的点积和; 将每个输入通道的计算结果在每个位置上进行相加,得到形状为 (1, 3, 3) 的输出;...
2025-08-12
qwen3_vl_image_vs_video_inference
Qwen3-VL:图像推理与视频推理的区别1. 输入预处理图像 输入为静态图片,经过 image_processor 处理 使用 Conv3dLayer(temporal_patch_size=2)对图片做 patch 嵌入,但 t=1(单帧) 输出 pixel_values(shape: [num_patches, flattened_patch_size]) grid 信息保存在 image_grid_thw,每条记录为 [1, H, W] 视频 输入为视频帧序列,经过 video_processor 处理 先均匀采样若干帧(如 16 帧),再按 temporal_patch_size=2 分组打包成时序 patch 输出 pixel_values_videos(shape: [num_patches, flattened_patch_size]) grid 信息保存在 video_grid_thw,每条记录为 [T, H, W],T≥1 表示时序维度 2. 输入格式差异 维度 图像 视频 pixel values key pixel_va...
2025-10-11
vLLM 算力多样性|Platform 插件与 CustomOp
vLLM 算力多样性|Platform 插件与 CustomOp一、引言随着 vLLM 逐渐成为生产级场景下大模型推理的通用解决方案之一,期望 vLLM 支持各式各样算力底座的需求日趋强烈。目前,在 vLLM 的官方仓库中维护着 NVIDIA GPU、AMD GPU 以及 Google TPU 等多家芯片厂商的代码,但除此之外,还有更多的 AI 芯片是通过“硬件插件化机制”来支持自家算力的。 所有不在 vLLM 官方仓库中支持的硬件,都被统称为 OOT(Out Of Tree)Device,包括: 官方插件(指存在于 vllm-project 官方项目下的插件):vllm-ascend(华为昇腾 NPU)、vllm-spyre、vllm-gaudi(Intel Gaudi)、vllm-neuron(AWS Neuron)、vllm-metal(Apple Silicon)等; 非官方插件:vLLM-metax(沐曦 GPU)、vLLM-Kunlun(百度昆仑芯 XPU)等。 本文将深入介绍 vLLM 硬件插件化系统的原理,以及如何通过 CustomOp 完成自定义算子的注册与...