我在OpenCL技术中实现sha512。我有内核函数从全局到本地内存的OpenCL副本字符
__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)
我readed约async_work_group_copy(),但我不明白如何使用它 - 在文档我没有发现任何示例代码。
我试过char character = (__private char) message[i];
,但它不工作。
我不明白如何将最后一个参数传递到async_work_group_copy()
以及如何使用它将__global
内存中的数据复制到__private
内存中。