相关疑难解决方法(0)

cuda上的128位整数?

我刚刚设法在Linux Ubuntu 10.04下安装我的cuda SDK.我的显卡是NVIDIA geForce GT 425M,我想用它来解决一些繁重的计算问题.我想知道的是:有没有办法使用一些无符号的128位int var?当使用gcc在CPU上运行我的程序时,我使用的是__uint128_t类型,但是将它与cuda一起使用似乎不起作用.在cuda上有128位整数可以做些什么吗?

非常感谢Matteo Monti Msoft编程

integer cuda nvidia 128-bit

13
推荐指数
2
解决办法
1万
查看次数

使用CUDA添加大整数

我一直在GPU上开发一种加密算法,目前坚持使用算法来执行大整数加法.大整数以通常的方式表示为一堆32位字.

例如,我们可以使用一个线程来添加两个32位字.为简单起见,假设要添加的数字具有相同的长度和每个块的线程数==字数.然后:

__global__ void add_kernel(int *C, const int *A, const int *B) {
     int x = A[threadIdx.x];
     int y = B[threadIdx.x];
     int z = x + y;
     int carry = (z < x);
     /** do carry propagation in parallel somehow ? */
     ............

     z = z + newcarry; // update the resulting words after carry propagation
     C[threadIdx.x] = z;
 }
Run Code Online (Sandbox Code Playgroud)

我很确定有一种方法可以通过一些棘手的减少程序来进行传播,但是无法弄明白.

我看了一下CUDA推力扩展但是大整数包似乎还没有实现.也许有人可以给我一个提示如何在CUDA上做到这一点?

c cuda gpgpu thrust

11
推荐指数
1
解决办法
6586
查看次数

标签 统计

cuda ×2

128-bit ×1

c ×1

gpgpu ×1

integer ×1

nvidia ×1

thrust ×1