代码编译
发表于|更新于|LLM
|浏览量:
CUDA 编程练习
编译程序
跳过 .o 文件,直接编译链接成可执行文件。
1 | nvcc xxx.cu -o xxx |
文章作者: xhj
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 xhj的博客!
相关推荐
2025-11-03
RDMA
RDMA基本原理RDMA 本质:“zero-copy + 远程内存访问”。 zero-copy? 指数据从源头到目的地,中间不经过 CPU 内存的“中转拷贝”。 传统路径:GPU A -copy-> CPU 内存 -socket send-> 内核 buffer -网络-> 对端内核 buffer -> CPU 内存 -copy-> GPU B; zero-copy:GPU A memory -> GPU B memory,数据不经过 CPU 内存,CPU 只负责“发指令”,数据由 DMA / RDMA NIC / GPU copy engine 直接搬运。 zero-copy 并不是“完全没有 copy”,而是:copy 仍然发生,但不经过 CPU 和额外 buffer。 DMA(Direct Memory Access):Device 直接读写内存,不经过 CPU(CPU 不参与数据搬运); RDMA(Remote Direct Memory Access):机器 A 内存 -> 机器 B 内存,绕过 CP...
2025-10-05
vLLM MEMO
vLLM MEMO开发常用123456789101112131415161718192021222324# init envcd ~/github/vllm/source .venv/bin/activateexport VLLM_USE_MODELSCOPE=Falseexport HF_ENDPOINT="https://hf-mirror.com"# export VLLM_USE_MODELSCOPE=Truepre-commit install# def run_qwen2_5_vl# /home/sss/.cache/modelscope/hub/models/Qwen/Qwen2.5-VL-7B-Instructpython examples/offline_inference/vision_language.py -m qwen2_5_vl# def run_qwen3_vl# /home/sss/.cache/modelscope/hub/models/Qwen/Qwen3-VL-4B-Instruct# /home/sss/.cache/m...
2025-10-12
大模型 LoRA 微调的数学原理
大模型 LoRA 微调的数学原理一、概述LoRA(Low-Rank Adaptation,低秩适配器)是目前非常热门的大模型微调技术之一,网上已经有许多关于其原理的分析和讲解,本文将着重从 LoRA 背后的数学原理进行解读。 二、背景介绍2.1 基本概念大模型微调(Fine-tuning):基于已经训练好的预训练模型,针对特定的下游任务,在特定领域的数据集上进行二次训练,以提升模型在特定任务上的表现。 全量微调:在下游任务的训练中,对预训练模型的每一个参数都做更新(训练代价昂贵); 局部微调:冻结(不更新)预训练模型的权重,只对部分增量权重进行训练,从而有效降低训练的代价(实用性更高)。 2.2 研究现状在 LoRA 微调技术出现之前,现有的大模型微调技术存在以下缺点: Adapter Tuning:在模型中添加额外的 Adapter 层,并只针对这些 Adapter 的权重进行训练。这将导致模型整体的层数变深,从而使模型的训练/推理耗时增加(因为新增的 Adapter 层与模型中的其它层是串行的,无法充分利用硬件能力进行并行计算); Prefix Tuning:...
2025-11-17
大模型基础知识
大模型基础知识Tokenizertoken:最小语义单元。多模态模型:图像等 -> token,再与文本的 token 进行拼接。 tokenizer:分词器。输入文本 -> token_id(input_id)。 input ids:token 的索引,是整数向量。 tokenizer.decode():将 input_ids 转化为对应的 embedding 向量。 模型文件解析: TransformerTransformer = Encoder + Decoder Encoder:适合理解型任务; Decoder:适合生成型任务。 Self-Attention: Mask-Attention: 1234567891011121314151617181920>>> import torch>>> seq_len = 4>>> qkt = torch.randn([seq_len, seq_len])>>> qkttensor([[ 0.0697, 0.7932, -0.1...
2025-10-09
vLLM 学习笔记|Guided Decoding (V1)
vLLM 学习笔记|Guided Decoding (V1)一、引言Guided Decoding,又叫 Structured Output,是大模型推理领域中非常重要的一个特性,主要用于引导大模型输出符合某种特定格式(如:SQL、Json)的结果,以便更好地将大模型落地到具体的应用场景中。 在我的上一篇文章中,简要地介绍了 Guided Decoding 的原理,并详细分析了 vLLM 中相关代码的实现(V0),文章链接如下:link。 自从 vLLM v0.8.x 之后,V1 Engine 将作为 vLLM 启动时的默认选项。关于 V1 Engine 的系统设计以及具体的优化点,我将会在之后逐步梳理并分享出来(如果有空的话)。而在本文中,我将针对 V1 Engine,分享 Structured Output 模块的整体设计与具体实现。 二、V1 Engine 整体架构在介绍 Structured Output 模块的设计之前,让我们先来看下 vLLM V1 Engine 的整体架构。在 V1 中,vLLM 将不同类型的 CPU 密集型操作拆分到了两个相互独立的进程中,以便能够...
2025-12-15
线性代数基本概念
线性代数基本概念 特征值和特征向量 值域空间 零空间 行空间与列空间 正交补 基 标准正交基 奇异值分解 Matrix Norm (矩阵范数) Frobenius Norm (弗罗贝尼乌斯范数) 奇异值分解在统计中的主要应用为主成分分析(PCA)。数据集的特征值(在 SVD 中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量张成空间为降维后的空间。