CUDA
文章平均质量分 53
栏杆拍遍看吴钩
这个作者很懒,什么都没留下…
展开
-
【CUDA】thrust进行前缀和的操作
可以看到,此处thrust调用了cub的Dispatchscan操作,而cub中是使用全局内存的,因此造成了效率还不如手动编写使用共享内存的算法。,可以发现使用CUDA提供的API进行前缀和扫描时,第一次运行的时间不如共享内存访问,猜测是使用到了全局内存。:路径可能与实际有偏差,可以在/usr/local/下使用。将操作指定为plus,原创 2024-07-15 16:17:18 · 356 阅读 · 0 评论 -
【CUDA】CUDA中缓存机制对计时的影响
观察每次的运行时间,发现第三种方法首次运行的时间大约是后续运行时间的7倍,而第二种方法的每次运行时间基本一致,因此造成了结果的不一致,笔者将文中的代码进行修改,展示两个版本,其中version1是前20次的结果(即原文结果),version2是第1次到第21次的运行结果(即后20次的结果,不包括第一次),可以看到,此时第三种方法的结果比第二种方法的结果快,且三种方法的结果差距不大,那么可以说在计算层面,对该程序的优化提升不大,而在访存方面,thrust使用的方法效率要比共享内存低。原创 2024-07-14 15:31:01 · 401 阅读 · 0 评论 -
【CUDA】shuffle算法的一个优化
猜测是shuffle内部的某些机制造成了延迟,不过这个只有在看到源码时才能具体分析。还差0.05ms(不同评测机上结果可能不同)原创 2024-07-08 21:11:39 · 217 阅读 · 0 评论 -
【CUDA】
ReduceMax:找到每一行的最大值以进行数值稳定性处理。:将每个元素减去所在行的最大值。Exp:对每个元素计算指数函数。ReduceSum:计算每一行的元素和。:将每个元素除以所在行的和,形成概率分布。每个步骤的内存访问模式和计算方式都是为了确保整个 softmax 计算过程的数值稳定性和准确性,同时在尽量减少全局内存访问次数以优化性能。原创 2024-07-07 20:10:30 · 825 阅读 · 0 评论 -
【CUDA】CUDA将RGB图像转成灰度图并统计并行直方图
试了之后发现这篇文章中的代码没有任何输出,连最基本的灰度图都输不出来,遂参考GPT写了一个输出脚本,这么看opencv封装的函数还是很好用的,比如这里面的cv:imgwrite函数。遂安装了opencv库准备一试,结果不管怎么弄都报错找不到文件,最后发现,竟然是作者将头文件中的。贴一下可以用的基础版本代码吧~笔者在阅读网上的文章时,看到。原创 2024-07-06 13:30:13 · 198 阅读 · 0 评论