cuda

[外链图片转存失败(img-zO6KRx2W-1563170516690)(https://devblogs.nvidia.com/wp-content/uploads/2017/01/cuda_indexing.png)]

常见变量

  • gridDim.x:grid中包含的线程块的索引(上图包含4096个线程块)
  • blockIdx.x:grid中包含当前线程块的索引(上图每个线程块的索引从0-255)
  • blockDim.x:线程块中线程数量(上图线程块中的线程数为256)
  • threadIdx.x:线程块中的线程的索引(上图的中橙色3的线程索引为3)

线程索引:index = blockIdx.x * blockDim.x + threadIdx.x

# 线程块大小
int blockSize = 256;
# N表示需要处理的元素个数
int numBlocks = (N + blockSize - 1) / blockSize;
# 每个时钟处理blocksize个线程,需要至少numBlock个线程块处理
add<<<numBlocks, blockSize>>>(N, x, y);

CUDA工具

  • nvprof:探测cu程序运行统计信息
  • nvcc:cuda程序编译器
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值