如何在CUDA/C 中使用Atomicmin()
how to use atomicMin() in CUDA/C++
我尝试使用共享内存在CUDA/C 中使用atomicMin
函数,无论我输入的数据如何,输出始终是0
。任何人都可以帮助我解决此问题,如果语法中有一些错误或我对指针的使用情况,或者我可能正在错误地使用该函数。
这是代码:
__global__ void npd(int *a, int *g)
{
int index = threadIdx.x;
__shared__ int d[N];
d[threadIdx.x]=a[index];
__syncthreads();
int dd;
int inn;
int u;
if( 0==threadIdx.x )
{
for( int u = 0; u<16; u++ )
{
atomicMin( g, d ) ;
}
}
}
正如文档所描述的那样,该函数的第二个输入应为值,而不是指针。
您尚未对您的功能的描述进行任何描述,因此我不禁修复它,而是
之类的东西atomicMin( g, d[0]) ;
会编译,可能不做您在这里的目标。
注意:始终发布完整的编译示例。并尝试整理您的代码。u
有一个双重定义,并且声明了变量index
,但从未使用过。
相关文章:
- 编译时未启用intel oneApi CUDA支持
- 在cuda线程之间共享大量常量数据
- 为什么即使使用-cudart-static进行编译,库用户仍然需要链接到cuda运行时
- Cuda C++:设备上的Malloc类,并用来自主机的数据填充它
- CUDA内核和数学函数的显式命名空间
- CUDA:统一内存和指针地址的更改
- 调试 CUDA MMU 故障
- 使用 CUDA 和纹理进行图像减法
- 将 2D 推力::d evice_vector 复矩阵传递给 CUDA 内核函数
- 编译 CUDA 与数学函数的叮当
- 为什么 CUDA 不会导致C++代码加速?
- 如何防止 CUDA-GDB 中的<优化输出>值
- 通过Python Distutils(用于Python C扩展)使用可重定位的设备代码编译CUDA代码
- CUDA三角函数中的数学保证
- CUDA 使用共享内存平铺 3D 卷积实现
- CUDA:cudaMallocManage处理退出吗?
- Opencv 加速与 CUDA 在 C++.
- Cuda:具有位集数组的 XOR 单位集
- 用于构建 cuda .so 文件(共享库)的生成文件
- 如何在CUDA/C 中使用Atomicmin()