1
私のホストプログラムがC言語であるとき、OpenCL関数の引数として2つのオプションを渡すことができます。例えば、私はこのようなclCreateBuffer
関数に2つの フラグを渡すことができます。FortranでOpenCLの引数として2つのオプションを渡す(CLFORTRAN)
clCreateBuffer(context, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, sizeof(main_data), main_data, &err)
をしかし、私はFortranで書かれたホストプログラムで同じことをしようとすると:
main_data=clCreateBuffer(context, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, & sizeof(main_data), C_NULL_PTR, err)
私が取得エラー:
& |CL_MEM_COPY_HOST_PTR, size_in_bytes,C_NULL_PTR,ierr)
1
Error: Syntax error in argument list at (1)
私は正常CLFORTRANといくつかの他のプログラムをコンパイルしているが、私はCL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR
のように二つのフラグを渡すためにしようとするたびに私は、ABOを取得しますエラー。
私の問題を解決したこの回答をありがとう。 – Sergio
なぜdownvote? Thuの和は、FFTWなどの多くの公式バインディングで実際に使用されています。 –
私は答えをupvotedしかし他の誰かがそれをdownvoted。 – Sergio