1
我想在CUDA平臺上直接處理64位單詞(例如uint64_t vars)。 但是我明白,尋址空間,寄存器和SP架構都是基於32位的。如何處理CUDA設備上的64位字?
我居然發現這正常工作(我的CUDA cc1.1卡上):
__global__ void test64Kernel(uint64_t *word)
{
(*word) <<= 56;
}
,但我不知道,例如,這將如何影響寄存器使用和每時鐘週期操作數量爲。
也許你可以解釋爲什麼你認爲你需要64位整數?可能還有其他更好的解決方案比使用32位指令實現64位整數操作更高效。 – 2010-06-16 12:43:57
嗨,我需要使用這些64位整數實際上只是總和和左移。前者使用32位指令實現是微不足道的。事實上,我很好奇CUDA設備如何處理上面的單條指令。 – pikkio 2010-06-16 13:29:37
等待,我的意思是*循環*轉移 – pikkio 2010-06-16 14:13:04