私はATI RV770グラフィックスカードを持っていますが、私はOpenCL 1.0-AMD-APP-SDK-v2.5を使ってOpenCLプログラムを実行しています。OpenCLのホストメモリからデバイスメモリにデータがどのように転送されますか?
は、iは、デバイスのメモリ(ビット単位またはバイト単位または> = 32ビットワイズ)にどのようにデータをコピーされている
d_A = clCreateBuffer (context, CL_MEM_READ_ONLY , partition_size * sizeof(datatype),NULL, &err); checkStatus("Failed to create device input buffer A ",err);
err = clEnqueueWriteBuffer (cmd_queue, d_A, CL_TRUE, 0, partition_size * sizeof(datatype), &h_A, 0, 0 , 0); checkStatus("Failed to copy data from host to device ",err);
私の質問を使用していますデバイスメモリにホストメモリからデータを転送するには?
はiは構造体型のデータを転送することができ、私は、次の構造体型::
typedef struct abc{int a; unsigned char ch[64]; } ABC;
のH_Aを持っていると私は1000年の要素ABC構造体の種類を転送したいと仮定しますか?はいの場合、データはどのようにデバイスメモリにコピーされますか?
一般に、コンピュータ内のデータの移動には実際にどのような特性が必要ですか?
OPがAMD SDKに言及して以来、彼らはコンパイラがどのように組合内の整列した構造体のメモリレイアウトを解釈するかに厄介なバグがあります。http://devgurus.amd.com/thread/158559 – eudoxos