OpenCLテクノロジーでsha512を実装しています。私はカーネル関数の簡単な定義を持っていますOpenCLの文字をグローバルからローカルメモリ
__kernel void _sha512(__global char *message, const uint length, __global char *hash);
私は実装して正常にsha512アルゴリズムの実装をテストしました。
message
配列からcharacter
という一時変数にデータをコピーする際に問題があります。範囲0からのメッセージのサイズに - i
はループ変数である
char character = message[i];
。私はそこに私のプログラムを実行しようとしたとき
は、私はこのエラー
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()をreadedを得たが、私はそれを使用する方法を理解することはできません - ドキュメントでは、私はすべてのコード例を見つけることができません。
私はchar character = (__private char) message[i];
で試しましたが、うまくいきません。
async_work_group_copy()
に最後のパラメータを渡す方法と、__global
のメモリから__private
のメモリにデータをコピーする方法を理解できません。