Opencl 原子函数的编译问题
我正在尝试编译以下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 ); } 我得
#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不接受原子函数。谢谢