cuda

线程

常见变量

  • 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程序编译器

猜你喜欢

转载自blog.csdn.net/bleedingfight/article/details/80461270