小编Blu*_*ter的帖子

传递给设备功能的共享内存地址仍然是共享内存?

假设我有这个__device__功能:

__device__ unsigned char* dev_kernel(unsigned char* array_sh, int params){
    return array_sh + params;
}
Run Code Online (Sandbox Code Playgroud)

__global__内核中,我以这种方式使用它:

uarray = dev_kernel (uarray, params);
Run Code Online (Sandbox Code Playgroud)

uarray共享内存中的数组在哪里?

但是当我使用CUDA-gdb来看到的地址的情况uarray中的__global__内核,我得到:

(@generic unsigned char * @shared) 0x1000010 "z\377*"
Run Code Online (Sandbox Code Playgroud)

__device__内核中,我得到:

(unsigned char * @generic) 0x1000010 <Error reading address 0x1000010: Operation not permitted>
Run Code Online (Sandbox Code Playgroud)

尽管有错误,程序仍可以正常运行(也许是cuda-gdb的某些限制)。

所以,我想知道:在__device__内核中,uarray是共享的吗?我将阵列从全局内存更改为共享内存,时间几乎相同(对于共享内存,时间会更糟)。

cuda cuda-gdb

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

是否可以在NVVP上自动重复多次执行?

我正在尝试从我的应用程序中提取一些指标,并且需要执行很多次并采用指标的平均值.

我正在谷歌搜索它,但没有找到任何东西,也没有在stackoverflow这里也没有.

谢谢.

cuda nvvp

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

标签 统计

cuda ×2

cuda-gdb ×1

nvvp ×1