Opencl 原子函数的编译问题

Opencl 原子函数的编译问题,opencl,gpu,Opencl,Gpu,我正在尝试编译以下openCl代码: #pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics : enable __kernel void nQueens( __global int * data, __global int * result, __local int * stack, __local int *stack_size, int board_size) { atom_inc( stack_size ); } 我得

我正在尝试编译以下openCl代码:

#pragma OPENCL EXTENSION cl_khr_local_int32_base_atomics : enable

__kernel void nQueens( __global int * data, __global int * result, __local int * stack, __local int *stack_size, int board_size)
{
    atom_inc( stack_size );
}
我得到了这个错误:

您的OpenCL内核未能编译:错误:无法选择代码 选择:0x5307370:i32,ch=AtomicLoadAdd 0x53072e8,0x5303d68, 0x53011a8对齐=4

错误:CL_构建程序失败


谢谢。

atom_inc是64位版本,atomic_inc是32位版本。此外,堆栈大小应声明为volatile。因此,因为您使用的是32位整数,所以应该使用atomic_inc

发件人:

int原子公司(易失性本地int*p)


“此函数的64位版本atom_inc由cl_khr_int64_base_atomics启用。”

atom_inc为64位版本,atomic_inc为32位版本。此外,堆栈大小应声明为volatile。因此,因为您使用的是32位整数,所以应该使用atomic_inc

发件人:

int原子公司(易失性本地int*p)


“此函数的64位版本atom_inc.由cl_khr_int64_base_atomics启用。”

抱歉我的回复太晚,我完全确定我的gpu不接受原子函数。谢谢,很抱歉我的回复迟了,我完全确定,但我的gpu不接受原子函数。谢谢