我在 OpenCL 技术中实现 sha512。我对核函数有简单的定义
__kernel void _sha512(__global char *message, const uint length, __global char *hash);
在主机上,我已经实现并成功测试了 sha512 算法的实现。
我在将数据从message
数组复制到名为character
.
char character = message[i];
循环变量在哪里i
- 范围从 0 到消息的大小。
当我试图在那里运行我的程序时,我得到了这个错误
0x00007FFD9FA03D54 (0x0000000010CD0F88 0x0000000010CD0F88 0x0000000010BAEE88 0x000000001A2942A0), nvvmCompilerProperty() + 0x26174 bytes(s)
...
0x00007FFDDFA70D51 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
0x00007FFDDFA70D51 (0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)
我阅读了有关async_work_group_copy()的信息,但我不明白如何使用它 - 在文档中我找不到任何示例代码。
我已经尝试过,char character = (__private char) message[i];
但它也不起作用。
我不明白如何将最后一个参数传递给async_work_group_copy()
以及如何使用它将数据从__global
内存复制到__private
内存中。