我在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
內存中。