gpt4 book ai didi

cuda - 漏斗转移 - 这是什么?

转载 作者:行者123 更新时间:2023-12-04 02:21:28 27 4
gpt4 key购买 nike

在阅读 CUDA 5.0 编程指南时,我偶然发现了一个名为“Funnel shift”的功能,该功能存在于 3.5 具有计算能力的设备中,但不是 3.0。它包含一个注释“请参阅引用手册”,但是当我在手册中搜索“漏斗转移”术语时,我什么也没找到。

我尝试在谷歌上搜索它,但只在 http://www.cudahandbook.com 上找到了一个提及, 在第 8 章中:

8.2.3 Funnel Shift (SM 3.5)

GK110 added a 64-bit “funnel shift” instruction that may be accessed with the following intrinsics:

__funnelshift_lc(): returns most significant 32 bits of a left funnel shift.

__funnelshift_rc(): returns least significant 32 bits of a right funnel shift.

These intrinsics are implemented as inline device functions (using inline PTX assembler) in sm_35_intrinsics.h.



...但它仍然没有解释“左漏斗移位”或“右漏斗移位”是什么。

那么,它是什么,又在哪里需要它呢?

最佳答案

在 CUDA 的情况下,两个 32 位寄存器连接在一起成为一个 64 位值;该值向左或向右移动;并且返回最高有效(对于左移)或最低有效(对于右移)32 位。

来自 sm_35_intrinsics.h 的内在函数如下面所述:

unsigned int __funnelshift_lc(unsigned int lo, unsigned int hi, unsigned int shift);
unsigned int __funnelshift_rc(unsigned int lo, unsigned int hi, unsigned int shift);

根据 Andy Glew(删除了死链接)的说法,漏斗移位的应用包括快速错位 memcpy;并且正如 njuffa 在上面的评论中提到的,如果两个输入词相同,则可以使用它来实现旋转。

关于cuda - 漏斗转移 - 这是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12767113/

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