我一直有一個艱難的時間建立一個實驗,我和CUDA設備上分配內存,採取指針存儲在設備上,在OpenCL中使用它,返回結果。我想看看這是否可能。我很難讓CUDA項目工作,所以我只在他們的SDK中使用了Nvidia的模板項目。在生成文件中,我將-lOpenCL添加到common.mk的libs部分。當我這樣做的時候一切都很好,但是當我將#include <CL/cl.h>
添加到template.cu中時,我可以開始進行OpenCL調用,我得到了100個錯誤。它們看起來都與此類似,但最後有不同的功能名稱:試圖在NVIDIA的SDK模板,CUDA OpenCL中混合
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/include/xmmintrin.h(334): error: identifier "__builtin_ia32_cmpeqps" is undefined
我很難找出原因。如果可以的話請幫忙。另外,如果有更簡單的方法來設置一個可以調用CUDA和OpenCL API的項目,請告訴我。
爲什麼混合CUDA和OpenCL? – 2010-10-06 18:57:04
我正在使用Ubuntu中的OpenCL項目(必須是OpenCL),而且我需要像cufft這樣的庫,它只能在CUDA中使用。我計劃將此作爲短期解決方案,直到Apple的OpenCL FFT庫被移植到Ubuntu或其他某種fft庫可用於Ubuntu上的OpenCL。 – smuggledPancakes 2010-10-06 21:01:41