Blocks

  1. 早期的卡,最多支持65535个blocks, 后面的卡最多可以支持 2 31 − 1 = 2147483647 2^{31}-1=2147483647 231−1=2147483647

可以理解为blocks可以随便造,主要是要把threads的大小选好

Threads

  1. 一般来讲每一个block不能超过512(Compute Capability 1.x)/ 1024(2.x和之后版本)个线程

你电脑不旧的话,一般都是不超过1024

  1. 每个块的线程数应该是warp size大小的整数倍,在所有当前的硬件上,warp size大小是32。

比如我的电脑:
Device : “GeForce RTX 2080 Ti”
driverVersion : 10010
runtimeVersion : 10000
CUDA Driver Version / Runtime Version 10.1 / 10.0
CUDA Capability Major/Minor version number : 7.5
Total amount of global memory : 10.73 GBytes (11523260416 bytes)
GPU Clock rate : 1545 MHz(1.54 GHz)
Memory Clock rate : 7000 Mhz
Memory Bus Width : 352-bit
L2 Cache Size: 5767168 bytes
Total amount of constant memory: 65536 bytes
Total amount of shared memory per block: 49152 bytes
Total number of registers available per block: 65536
Warp Size: 32
Maximum number of threads per multiprocessor: 1024
Maximum number of thread per block: 1024
Maximum sizes of each dimension of a block: 1024 x 1024 x 64
Maximum sizes of each dimension of a grid: 2147483647 x 65535 x 65535

一般来讲都是32,你也可以那个用一下代码测试一下:

#include <stdio.h>int main(void) {cudaDeviceProp deviceProp;if (cudaSuccess != cudaGetDeviceProperties(&deviceProp, 0)) {printf("Get device properties failed.\n");return 1;} else {printf("The warp size is %d.\n", deviceProp.warpSize);return 0;}
}
  1. threads太小(32)或者太大(512)都不好,经验来讲,最好选择128 threads/256 threads 为好

CUDA如何选取Blocks和Threads相关推荐

  1. 3d稀疏卷积——spconv源码剖析(三)

    构建Rulebook 下面看ops.get_indice_pairs,位于:spconv/ops.py 构建Rulebook由ops.get_indice_pairs接口完成 get_indice_p ...

  2. 计算机视觉-图像缩放算法-cuda实现

    一.CUDA CUDA是显卡厂商NVIDIA(英伟达)推出的运算平台,能够将数据数据复制到GPU,在GPU中进行计算,然后再返回给CPU端.CUDA将GPU称为设备侧或者Device,将CPU称为Ho ...

  3. 适用于CUDA GPU的Numba例子

    • 适用于CUDA GPU的Numba例子 矩阵乘法 这是使用CUDA内核的矩阵乘法的简单实现: @cuda.jit def matmul(A, B, C): """Pe ...

  4. CUDA系列学习(四)Parallel Task类型 与 Memory Allocation

    本文为CUDA系列学习第四讲,首先介绍了Parallel communication patterns的几种形式(map, gather, scatter, stencil, transpose), ...

  5. CUDA系列学习(一)An Introduction to GPU and CUDA

    本文从软硬件层面讲一下CUDA的结构,应用,逻辑和接口.分为以下章节: (一).GPU与CPU (二).CUDA硬件层面 (三).CUDA安装 (四).CUDA 结构与接口 4.1 Kernels 4 ...

  6. CUDA: GPU高性能运算

    CUDA: GPU高性能运算 2013-10-11 22:23 5650人阅读 评论(0) 收藏 举报 分类: CUDA(106) 目录(?)[+] 0 序言 CUDA是异构编程的一个大头,洋洋洒洒的 ...

  7. CUDA编程 -- 2向量加法

    本文介绍CUDA环境下两个向量的加法运算.代码运行的系统环境为操作系统Ubuntu 16.04 LTS 64位,CUDA版本7.5,GCC版本5.4.0.项目Github下载地址为:CUDA向量加法G ...

  8. 自定义 C++ 和 CUDA 扩展

    来源 官方文档 前言 PyTorch 提供了大量与神经网络.随机张量代数(arbitrary tensor algebra).数据整合(data wrangling)以及其他目的相关的操作.但是,您仍 ...

  9. CUDA编程 | Pytorch-CUDA从入门到放弃

    作者 | 日知  编辑 | 汽车人 原文链接: https://zhuanlan.zhihu.com/p/46991210 https://zhuanlan.zhihu.com/p/48463543 ...

最新文章

  1. python爬虫抓取信息_python爬虫爬取网上药品信息并且存入数据库
  2. torch.argmax()函数
  3. hashmap为什么用红黑树_全网最全,面试常问的HashMap知识点
  4. Java ObjectOutputStream writeBytes()方法与示例
  5. python标准库os中的方法_python中OS常用方法
  6. 仓库码放要求_仓储管理的全流程SOP操作示范,你们公司仓库管理规范吗?
  7. java 判断是否包含中文_Java 判断字符串是否包含中文正则表达式
  8. C++ STL sort 函数的用法(自定义排序函数)
  9. STM32F103RCT6移植到STM32F103C8T6注意事项
  10. 探究:数字孪生是如何赋能智慧能源信息化领域系统发展的?
  11. Android开发 入门篇(一)
  12. 如何获得哔哩哔哩上下载的教学视频在电脑上看?(bilibili音频视频分离)
  13. XMind8思维导图 破解版
  14. Easyui项目之添加购物车、清空购物车
  15. 二维数组的几种定义方法
  16. 海康威视产品的token更新
  17. CE-扫描扫雷中雷区地址
  18. 基于角膜反射的学习心得
  19. 如何用迅雷下载python_用Python调用迅雷批量下载excel表内的链接,并同时对文件重命名(使用的是openpyxl)...
  20. 二进制 算法相关的题目

热门文章

  1. 我生存的意义在于取悦我自己
  2. python浮点型和整数型转换_Python字符串、整数、和浮点型数相互转换实例
  3. sizeof 虚函数
  4. 生命线检查计算机还是连接线,生命线和智慧线相连起始段成锁链纹代表什么
  5. 单引号、双引号 Html转义符
  6. LVM磁盘格式分区创建挂载并刷新存储
  7. 2 个给使用 Fedora 工作站的音乐爱好者的新应用
  8. docker笔记总结--zhr
  9. 火狐浏览器点击下载文件
  10. 此生若得安稳,谁愿颠沛流离!