gpt4 book ai didi

c++ - "most"和 "least"有效维度是什么意思?

转载 作者:行者123 更新时间:2023-11-30 01:56:24 24 4
gpt4 key购买 nike

我正在阅读一本关于 C++ AMP 的书,但并不真正理解其中的一些术语:

Always choose your tile size so that the number of threads in the least significant dimension is at least 16, and use 32 or even 64 if you can.

我在 Eigen 文档中看到过类似的术语,所以我怀疑这是很常见的用法。

那么假设我有一个二维索引、数组等等:

// construct it:
ArrayType my2DArray(rows,columns);

// now index it:
float element = my2DArray[rowIdx,colIdx];

暂时忘记ArrayType类型,更多地考虑术语,最多最少 该数组的重要维度?

最佳答案

在多维逻辑上分配线程时,一般会存在从那个N维空间到线性空间的映射。线性空间变化最小的维度是最不重要的维度。

例如,可以使用表达式 (Y * width + X) 确定将二维 (X,Y) 坐标映射到线性空间。这里,X 是最不重要的维度,Y 是最重要的维度。同样,对于 3 维 (X,Y,Z) 空间,表达式可能是 (Z * width * height + Y * width + X)。这里,X 仍然是最不重要的,但 Z 是最重要的。您的布局不一定相同,例如您可以选择将线性空间映射到 (Z * width * height + X * height + Y),在这种情况下,Y 是最不重要的维度。

关于c++ - "most"和 "least"有效维度是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19825284/

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