Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cuda 错误:asm操作数类型大小(1)与约束';r';。关于杜安·梅里尔';s GPU基数排序_Cuda_Gpgpu_Radix Sort - Fatal编程技术网

Cuda 错误:asm操作数类型大小(1)与约束';r';。关于杜安·梅里尔';s GPU基数排序

Cuda 错误:asm操作数类型大小(1)与约束';r';。关于杜安·梅里尔';s GPU基数排序,cuda,gpgpu,radix-sort,Cuda,Gpgpu,Radix Sort,我在WinXP+VS2005下编译Merrill的基数排序时出错 错误:asm操作数类型大小(1)与约束“r”隐含的类型/大小不匹配 它出现在以下代码中 #define B40C_DEFINE_GLOBAL_LOAD(base_type, dest_type, short_type, ptx_type, reg_mod)\ asm("ld.global.cg."#ptx_type" %0, [%1];" : "="#reg_mod(dest) : _B40C_ASM_PTR_(d_ptr + o

我在WinXP+VS2005下编译Merrill的基数排序时出错

错误:asm操作数类型大小(1)与约束“r”隐含的类型/大小不匹配

它出现在以下代码中

#define B40C_DEFINE_GLOBAL_LOAD(base_type, dest_type, short_type, ptx_type, reg_mod)\
asm("ld.global.cg."#ptx_type" %0, [%1];" : "="#reg_mod(dest) : _B40C_ASM_PTR_(d_ptr + offset));\
...
B40C_DEFINE_GLOBAL_LOAD(char, signed char, char, s8, r)

感谢

这似乎是因为试图编译CUDA内核代码,其中包含专门为32位平台上的64位主机平台编写的内联汇编指令


CUDA工具链通过发出与主机CPU地址模式匹配的GPU代码,确保主机和设备上的
sizeof(void*)
一致。此特定代码假设指针是64位的,而代码是在32位主机模式下编译的,这会导致大小不匹配。

您使用哪个版本的nvcc和工具链来编译此代码?谢谢,Talonmies。我使用toolkit v4.0,我的图形卡是GT520(功能是2.1)。s8是否有任何命令(如“r”)?