该问题来自社区帖: https://bbs.csdn.net/topics/616671122.为符合问答规范, 该问题经过ChatGPT优化
在核函数中定义的局部变量,打印其地址都是相同的?_ 代码如下: ``` #include __global__ void myKernel() { int localVar = 10; printf("localVar address = %p\n", &localVar); } int main(){ myKernel<<<1,1>>>(); cudaDeviceSynchronize(); return 0; } ``` 输出结果: ``` localVar address = 0x7ffd908cd8b4 ``` 请教一下啊,难道每个线程都访问相同的显存地址,并给地址赋值,这不会数据冲突吗?
在核函数中定义的局部变量,打印其地址都是相同的?_ 代码如下: ``` #include __global__ void myKernel() { int localVar = 10; printf("localVar address = %p\n", &localVar); } int main(){ myKernel<<<1,1>>>(); cudaDeviceSynchronize(); return 0; } ``` 输出结果: ``` localVar address = 0x7ffd908cd8b4 ``` 请教一下啊,难道每个线程都访问相同的显存地址,并给地址赋值,这不会数据冲突吗?