gpt4 book ai didi

CUDA 2D 内核合并内存

转载 作者:行者123 更新时间:2023-12-05 08:59:16 25 4
gpt4 key购买 nike

如果我启动一个 2D 内核,其中每个线程都对 2D 数组的单个元素进行操作,那么哪种访问元素的方式会合并?是数组[x][y]还是数组[y][x]?

最佳答案

如果 x = threadIdx.xy = threadIdx.y 那么

array[y][x]

将合并但是

array[x][y]

不是。原因是C使用了row-major order ,即最后一个索引是运行最快的索引,因此 array[y][x]array[y][x+1] 会转到内存中的相邻位置。 CUDA block 中的线程的排列方式是 threadIdx.x 运行速度最快,然后是 y,最后是 z。

关于CUDA 2D 内核合并内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15806774/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com