小编Fen*_*eng的帖子

实验与浮点/双数据类型文档之间的cuda性能差异

cuda c编程指南 http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#arithmetic-instructions中的表2所述,每个多处理器的每个时钟周期的操作数为32 -bit浮点数添加为128,而64位浮点数添加为4,即64位浮点数添加速度慢32倍.

但是,由于我使用以下代码来测试速度差异,双版本最多比浮动慢2倍(即使使用编译标志--device-debug也没有太大变化),有没有人知道原因?

#define N 100000000
typedef double Real;

// Device code
__global__ void VecAdd(Real* A, Real* B, Real* C)
{
    int i = blockDim.x * blockIdx.x + threadIdx.x;
    if (i < N) {
        C[i] = A[i] + B[i];
    }
}

// Host code
int main()
{
    size_t size = N * sizeof(Real);
    // Allocate input vectors h_A and h_B in host memory
    Real* h_A = (Real*)malloc(size);
    Real* h_B = (Real*)malloc(size);
    Real* h_C = …
Run Code Online (Sandbox Code Playgroud)

floating-point cuda 32bit-64bit

0
推荐指数
1
解决办法
728
查看次数

标签 统计

32bit-64bit ×1

cuda ×1

floating-point ×1