解决了OPENCL与CUDA,确切的说是与CUDA C的争论的问题,大家仍心存疑问。NVIDIA在初期宣传CUDA C时,其优势就在于高级语言对软件开发的便利和普遍性,而OPENCL API级别的编程相对C语言来说又有什么优势和必要?我们认为,此时NVIDIA宣传CUDA与1年前初期阶段已经有所不同,高级语言的支持是CUDA努力的主要方向,而如何全方位的吸引开发人员的加入,这对CUDA来说同样重要。
CUDA C擅长与服务的对象 |
OPENCL的特点与服务对象 |
我们从图中看到,API和C语言在开发技术上有所不同,NVIDIA表示对原有OPENGL开发人员来说一定会喜欢OPENCL,因为其中有很多类似之处;同时,NVIDIA也表示,由于都是基于CUDA架构,所以OPENCL与CUDA C之间如果真需要迁移也是相对方便的(似乎没有太大必要,总之都是基于同样硬件架构的)。NVIDIA认为,目前对于并行计算而言,开发语言和API并不是太多,而是太少,未来DirectX11 Compute Shader同样是基于CUDA架构的。