自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 CUDA内存合并

当线程1第0次迭代读取M(0,0)数据时(一个sector),会得到M(0,0),M(0,1),M(0,2),M(0,3)共4个sector,那样在第2,3,4次迭代可以直接从L2缓存中读取,不需要从全局内存中读取,当第5次迭代同样会得到M(0,4),M(0,5),M(0,6),M(0,7)。但实际上发现多申请了24次,原因就是4个线程每读取一列数据,都不能合并成一次,8列造成了32次申请,其中8次(第0列和第4列)是从全局内存申请的,24次(第1,2,3,5,6,7列)从L2缓存中申请的。

2024-11-04 22:00:34 1152

原创 CUDA避免Bank Conflict

为了提高内存读写带宽,共享内存被分割成了32个等大小的内存块,即Bank,数据行优先存储padding方式可以避免Bank冲突。

2024-11-04 13:59:20 1270

原创 CUDA实现加法

表示从主机(Host)到设备(Device)的内存复制操作,占用了总时间的 34.67%,共调用了 3 次,平均每次调用时间为 1.1090 微秒。函数 ,仅需要设定一个线程约束(有效的线程,数组长度为N,线程索引小于N的为有效),使用全局的线程索引,此时SM中的线程束执行有效的线程,即可实现数组求和。实现矩阵C=A+B,矩阵设为ny行nx列,nx=ny=32,定义一个block有nx个线程,共1个block,那么需要运行ny次才能实现矩阵所有元素的相加。需要进行for循环,逐元素以此相加。

2024-10-27 16:59:35 917

原创 CUDA编程基本使用

下面打印局部线程id,全局线程id,以及所在block,和对应的额矩阵值。

2024-10-27 16:50:48 1254

原创 CUDA编程入门介绍

什么是并行计算并行计算(parallel computing)是一种计算形式,它将大的问题分解为许多可以并发执行的小问题并行计算分为:任务并行(task parallel)和数据并行(data parallel)任务并行指多个任务同时执行数据并行指多个数据可以同时被处理,每个数据由独立的线程处理数据并行分块方法:块分(block partitioning)和循环分块(cyclic partitioning)GPU并行计算时,其实是指的基于CPU+GPU的异构计算架构。

2024-10-14 16:56:34 1141

原创 卷积神经网络:LeNet网络手写数字识别代码实践

介绍LeNet网络,Mnisit数据集训练,并在手机拍摄的数字进行识别

2023-07-11 14:24:50 1243 2

原创 python:超详细OpenCV入门

OpenCV库,一个基于开源发行的跨平台计算机视觉库,包括众多计算机视觉和图像处理的通用算法。

2023-06-21 16:33:47 3866 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除