【发布时间】:2010-12-10 02:25:30
【问题描述】:
CUDA 2.3 V0.2.1221 / 32bit linux
您好,我对以下代码有疑问:
__device__ void put_u64(void *vp, u_int64_t v) {
u_char *p = (u_char *) vp;
p[0] = (u_char) (v >> 56) & 0xff;
p[1] = (u_char) (v >> 48) & 0xff;
p[2] = (u_char) (v >> 40) & 0xff;
p[3] = (u_char) (v >> 32) & 0xff;
p[4] = (u_char) (v >> 24) & 0xff;
p[5] = (u_char) (v >> 16) & 0xff;
p[6] = (u_char) (v >> 8) & 0xff;
p[7] = (u_char) v & 0xff; }
make emu=1 编译并运行
-
没有仿真我得到错误:
### 第 1923 行或 ../../be/cg/cgemit.cxx 的断言失败
### 操作数 0 的寄存器类不正确
nvopencc 内部错误...状态 1
-
有人可以帮忙吗-我只需要一种工作方式 将 u_int64_t 转换为 unsinged char[7]。
【问题讨论】:
-
不管你如何解决这个问题,我希望你也向 NVidia 的 Cuda 开发人员报告这个问题,因为这显然是 Cuda 中的一个错误。