最优的cuda线程配置

1 每个SM上面失少要有192个激活线程,寄存器写后读的数据依赖才能被掩盖
 
2 将 寄存器 的bank冲突降到最低,应尽量使每个block含有的线程数是64的倍数
 
3 block的数量应设置得令可用的计算资源被充分的利用。由于每个block映射到一个sm上面,所以至少应该让block的数目跟sm的数目一样多。
 
4 当Block中的线程被同步时或者等待读取设备存储器时,相应的SM会闲置。通常让block的数目是sm的2倍以上,使其在时间轴上重叠
 
5 如果block的数目足够多,则每个Block里的线程数应设置成warp尺寸的整数倍,以免过小的warp浪费计算资源。
 
6 给每个block分配越多的线程,能更高效的让他们在时间片上工作。但是相应的每个线程的寄存器也就越少。当寄存器过少,有可能因为访问溢出的寄存器,而导致数据的存储变慢。
 
7 当每个线程占用的寄存器较多时,不宜在Block内分配过多的线程,否则也会减少block的数目。从而使SM的工作效率降低
 
8 每个block内的线程数应遵循 相应的 计算能力等级中的规定数目。
 
原文来自《GPGPU编程技术--从GLSL、CUDA到OPENCL》

最优的cuda线程配置相关推荐

  1. CUDA——线程配置

    前言 线程的组织形式对程序的性能影响是至关重要的,本篇博文主要以下面一种情况来介绍线程组织形式: 2D grid 2D block 线程索引 矩阵在memory中是row-major线性存储的: 在k ...

  2. CUDA性能优化----线程配置

    CUDA性能优化----线程配置 2017-01-12 14:19:29|  分类: HPC&CUDA优化 |  标签:cuda  gpu  hpc   |举报 |字号 订阅 下载LOFTER ...

  3. c语言 cuda核函数,CUDA核函数与线程配置

    CUDA核函数 在GPU上调用的函数成为CUDA核函数(Kernel function),核函数会被GPU上的多个线程执行.每个线程都会执行核函数里的代码,当然由于线程编号的不同,执行的代码路径可能会 ...

  4. CUDA学习:Windows下的CUDA环境配置

    Windows下的CUDA环境配置 一.查看自己电脑的显卡信息 使用win+R打开运行窗口,在运行窗口中输入cmd打开命令行 在命令行中键入nvidia-smi查看显卡支持信息 从下图中可以看到,本机 ...

  5. GPU编程自学2 —— CUDA环境配置

    深度学习的兴起,使得多线程以及GPU编程逐渐成为算法工程师无法规避的问题.这里主要记录自己的GPU自学历程. 目录 <GPU编程自学1 -- 引言> <GPU编程自学2 -- CUD ...

  6. 深入理解CUDA线程层次以及关于设置线程数的思考

    深入理解CUDA线程层次以及关于设置线程数的思考 2015-09-16 08:45 215人阅读 评论(0) 收藏 举报 分类: cuda(24) GPU线程以网格(grid)的方式组织,而每个网格中 ...

  7. GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考

    GPU(CUDA)学习日记(十一)------ 深入理解CUDA线程层次以及关于设置线程数的思考 标签: cuda存储线程结构网格 2012-12-07 16:30 6298人阅读 评论(4)收藏 举 ...

  8. minio 并发数_c#(asp.net)线程配置总结

    本文为大家介绍有关c#(asp.net)线程配置的相关知识,有需要的朋友可以参考下. 同一时刻只能发起的工作线程数量. 1.(maxWorkerThreads * CPU逻辑数量)-minFreeTh ...

  9. (教程)2020最新windows10/anaconda/pytorch-gpu环境配置(附CUDA/cuDNN配置)

    (教程)2020最新windows10/anaconda/pytorch-gpu环境配置(附CUDA/cuDNN配置) 环境: windows10 nvidia 165ti 1. 安装anaconda ...

最新文章

  1. javascript事件列表解说
  2. 踏上云旅程 存储准备好了吗
  3. 让植物“张嘴说话”!新加坡“植物机器人”可成为环境探测器促进农业生产...
  4. 计算机二级证书如何考取,计算机二级证书怎么领 考试成绩怎么算
  5. vector 源码及使用
  6. 在xml文件的Preference标签中,用extra给intent标签加参数
  7. HDU2277_变色球
  8. BinderHub 使用简介
  9. 深度学习训练时GPU利用率忽高忽低如何解决?
  10. 前端开发课件 202002
  11. Hadoop单机和伪分布式环境搭建
  12. 【开源项目】之从txt中读取数据
  13. eclipse不识别java,在Eclipse中运行的Maven项目存在问题,无法识别为Java项目
  14. clousx6机器人怎么导入词库_clousx6词库编程从零入门:变量总结
  15. c语言 多进程实现基于UDP的网络群聊聊天室
  16. 不用计算机做客户画像,描绘客户画像(有电脑的同学可做,完成加平时分2分)...
  17. FPGA零基础学习之旅#1 AC620V2开发板测试
  18. php codeigniter,PHP项目中CodeIgniter使用的一些建议
  19. POJ 3295: Tautology
  20. html文字用竖线隔开,inline+padding技巧:间隔符(分割线)与文字高度不一致,间隔竖线高度缩短方法...

热门文章

  1. 多线程的多核分配问题验证
  2. 关于shader.createGPUProgram耗时较高的问题
  3. Bfs++ open the lock
  4. SQL Server遍历表的几种方法
  5. 【临实战】CentOS 批量配置
  6. 内存分配与数据格式化(malloc与new)
  7. Linux安装Redis服务
  8. atitit.loading的设计与实现控件选型attilax 总结
  9. hdu-You can Solve a Geometry Problem too
  10. 在服务器搭建深度学习环境随笔