news 2026/6/15 21:29:37

cuda :对比gpu与cpu运算矩阵

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
cuda :对比gpu与cpu运算矩阵

1.cpu的运算

对于cpu的运算,我们需要遍历3次,如果A*B=C,A为M*K维,B维K*N维,C为M*N为,则我们首先要遍历P的M维和N维,在遍历K维进行计算:

2.gpu运算

对gpu运算,由于是并行运算,C矩阵的每个数值同时计算,我们的思路是每个线程(thread)处理一个矩阵上的数值,所以线程的坐标可以代表矩阵C的坐标,例如对于矩阵C8*8的矩阵:

我们可以让blockdim为4*4,也就是一个block中有16个线程,则2*2的grid就能算完所有C矩阵上的值,具体我们的核函数如下:

下面我们把cpu的数据传入gpu中进行并行运算:

进行试验:

实验参数:

实验我们进行了5组:有cpu,gpu预热,blocksize=16,blocksize=1,blocksize=32。

实验结果:

显然即便是预热的gpu运算也比cpu快,后面几组可以说明一些问题,gpu_blocksize=1运算的速度最慢,因为同一个block(线程块)中的所有thread(线程)共享一块该block专属的 shared memory;而同一个grid(线程格)中的不同block之间,各自的 shared memory 是相互独立、完全隔离的,所以blocksize=1代表着每个线程都不是共享的,算法只能依赖全局内存,访问速度很慢,而为什么blocksize=32变得就很快了呢?且硬件调度无冗余,GPU 以 32 个线程为 1 个 warp 调度,q所以blocksize=32最快。

优化:数据其实一直都是在gobalmemory中取,其实很慢,我们可以创建sharememory来加快速度。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 14:21:46

Rembg抠图质量评估:用户满意度调查

Rembg抠图质量评估:用户满意度调查 1. 智能万能抠图 - Rembg 在图像处理与内容创作日益普及的今天,自动去背景技术已成为设计师、电商运营、AI开发者乃至普通用户的刚需。传统手动抠图耗时耗力,而基于深度学习的智能抠图工具则提供了“一键…

作者头像 李华
网站建设 2026/6/15 14:19:52

视觉SLAM:机器的空间觉醒

《人工智能AI之计算机视觉:从像素到智能》 模块三:核心感知(下)——动态、3D与生成(模型进阶) 第 12 篇 视觉SLAM与AR:机器的“空间导航”与“虚实融合” 你好,我是你的老朋友。 上一篇我们聊了 3D 重建,学会了如何把几张照片还原成一个静态的三维模型。今天,我…

作者头像 李华
网站建设 2026/6/15 13:44:23

企业如何应对SSL证书过期导致的业务中断

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个案例研究工具,模拟SSL证书过期对电商网站的影响。工具应展示证书过期前后网站流量的变化、用户流失率,并提供分步指南,说明如何通过快马…

作者头像 李华
网站建设 2026/6/15 13:20:21

Rembg API扩展:结果后处理接口开发

Rembg API扩展:结果后处理接口开发 1. 背景与需求分析 1.1 智能万能抠图 - Rembg 在图像处理领域,自动去背景是一项高频且关键的需求,广泛应用于电商商品展示、证件照制作、设计素材提取等场景。传统方法依赖人工蒙版或简单阈值分割&#…

作者头像 李华
网站建设 2026/6/15 13:46:14

ORA-28547错误图解指南:新手也能轻松解决

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个面向初学者的交互式教程应用,通过可视化流程图展示ORA-28547错误的排查步骤。应用应包含动画演示错误发生场景、图解配置检查点(如监听器状态、TNS条目)、简单…

作者头像 李华