1
當我的主機程序是C語言時,我可以傳遞兩個選項作爲OpenCL函數的參數。例如,我可以傳遞兩個 標誌的clCreateBuffer
功能是這樣的:在Fortran(OpenCL)中傳遞兩個選項作爲參數(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?這個總結實際上在許多官方綁定中使用,例如FFTW和其他。 –
我提高了答案,但其他人低估了答案。 – Sergio