CUDA 程序优化
来源:互联网 发布:www.226bbb.com新域名 编辑:程序博客网 时间:2024/06/04 19:39
一、优化显存访问
1.
2.
3.
4.
5.
6.
7.
二、计算量
如果计算量太小,那么使用CUDA并不划算。
三、开发流程
1.
首先,需要将问题分为几个步骤,然后确定哪些步骤可以用并行算法实现,并确定要使用的算法。
2.
在这里就要尽量让每个SM上拥有至少6个活动的warp(6*32 = 192个线程)和至少2个活动线程块。
四、优化指令流
1.
2.
3.
4.
五、资源均衡
调整sharedmemory和register的使用量。为了使程序能获得更高的SM占用率,应该调整每个线程处理的数据数量、shared memory 和register的使用量。
当线程处理的子任务间有一些完全相同的部分时,应该只使用少量线程来完成公共部分的计算,再将公用数据通过shared memory 广播给所有线程。
通过调整块block的大小,修改算法和指令,以及动态分配shared memory,都可以提高shared memory的利用率。
六、与主机通信优化
1.
2.
3.
4.
- CUDA 程序优化
- CUDA: CUDA程序优化步骤
- CUDA程序性能优化
- CUDA程序优化
- CUDA程序优化
- CUDA程序优化技巧
- CUDA程序优化
- CUDA程序优化
- CUDA程序优化技巧
- CUDA学习之CUDA程序优化
- CUDA程序优化的记录
- CUDA之程序优化总结
- Cuda 学习教程(四):Cuda程序的优化
- Tesla架构下的CUDA程序优化
- CUDA学习笔记之程序优化
- CUDA学习笔记之程序优化
- CUDA: 程序优化的15个策略
- CUDA程序优化小记(一)
- openCV中测试代码时间
- 博客中尖括号不显示的问题
- Lucene学习总结之二:Lucene的总体架构
- 数据类型
- python 学习
- CUDA 程序优化
- CUDA 测时
- cudaMallocPitch 和 cudaMemcpy2D
- CUDA中GPU信息获取
- CUDA——GPU参数获取
- java动态代理
- cublas的配置使用
- CUDA函数错误判断
- Matlab+CUDA混合编程(一)