来源:互联网 更新时间:2026-08-10 15:27
最近在GPU上搞模型部署,绕不开的就是CUDA,索性花点时间把它摸一摸。

先看个效果——两个向量相加,直接用GPU算出来。没错,就是下面这段代码干的事,结果是并行计算出来的。
CUDA全称Compute Unified Device Architecture,是NVIDIA搞出来的并行计算框架,让GPU不光能渲染画面,还能干通用计算的活。对比CPU那点可怜的计算单元,GPU的计算单元多到让人眼红,天生适合批量并行任务。
NVIDIA GPU上做并行计算,核心流程就两步:
CUDA里,执行核函数的基本单位叫线程(thread),若干个线程凑成一个线程块(block),一次调用中所有线程块组成一个网格(grid)。
CPU调用核函数的时候,得指定线程块数量和每个块里的线程数。换句话说,核函数里的内容会被并行执行:线程块数 × 每块线程数 这么多次。
__global__ 是CUDA C/C++里的函数修饰符,告诉编译器这是个核函数void<<>>:b是线程块数量,t是每块线程数__global__ void myKernel() {
printf("Hello world
");
}
int main(int argc, char const *argv[]) {
myKernel<<<4,2>>>();
return 0;
}
这个例子指定了4个线程块,每块2个线程,一共8个线程并行执行,所以会输出8个"Hello world"。
除了核函数本身,还得管好内存的分配和回收,以及主机(CPU)和设备(GPU)之间的数据拷贝、错误处理之类的活儿。下面这个向量相加的例子,基本把整套流程都串起来了:
vectorAdd,用 __global__ void 修饰纸上谈兵没意思,直接上手操作一波。
/root/.bashrc,把CUDA路径加进去,然后 source 一下。cuda_program.cu,敲入向量相加的程序(就是上面原理部分贴的那段)。nvcc -o cuda_program cuda_program.cu,生成可执行文件。./cuda_program,看到打印结果就算成了。这周还顺便琢磨了几点感慨。模型部署比想象中麻烦,云GPU镜像倒是装好了,结果模型从Hugging Face上下载慢得离谱,已经挂了两天还没完……不过Keep moving就对了。
另外记录几个学到的英文单词(看书时碰到的):beads(珠子)、Paleolithic period(旧石器时代)、slabs(厚板)、bare walls(裸露的墙壁)、depicted in ca ve art(在洞xue艺术中被描绘)、herds of game(成群的猎物)、mammoths(长毛象)、reindeer(驯鹿)等等。学无止境,不管是CUDA还是词汇。
网上有不少好的CUDA入门教程,动手实践一遍比看十遍理论都管用。本文的代码示例和思路就是参考了这些材料整理出来的。
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
黄金价格不断创新高!黄金稳定币XAU、PAXG市值达11亿美元
CC币价格预测(2026-2035):Canton币今日价格走势+长期价格预测
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
腾讯ima怎么创建共享知识库?
蚂蚁庄园今日答案7月21日(今日已更新) 蚂蚁庄园今天正确答案是什么呢
今日比特币暴涨分析:Metaplanet的比特币BTC投资推动股价上涨17%
区块链OTC交易所有哪几家比较正规?
2026热门直线加速赛车手游推荐:高人气、爽快加速体验的精品榜单
腾讯ima怎么把微信内容一键导入知识库?
Intel喜讯连连:18A工艺良率提升到85%、CPU将涨价15%
原神霜月三处月灵龛具体位置汇总
抖音怎么取消申请退货退款?抖音上取消退货怎么操作
合集38个项目筹集5.406亿美元 Figure融资2亿
Windy卫星云图怎么看?云层变化识别技巧
9条破亿视频,新号涨粉百万,过去半年谁在制造AI爆款?
如何修复Edge浏览器无法通过微软账号进行身份验证?
五菱星光L六座新能源SUV上市:三版可选,中配12.28
kimi提示词专家使用方法新手指南
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc