明白了,谢谢您的详细解释!
【 在 newzzdx 的大作中提到: 】
: 不能,因为CUDA是nvidia开发的一套基于自家GPU架构(指令集)优化过的编程语言并集成了API库,当然也制定的专用的语法(脱胎于C语言,但是有一定扩展)和语言内置函数,这些都是不支持其他家的GPU的。就是说你用CUDA编写的程序是不能在别的GPU上直接跑的。
: 目前比较接近CUDA的是OpenCL,基于OpenCL开发GPU应用,就可以支持各种GPU了。AMD GPU也推出了一个叫做ROCm的一个开发平台,类似CUDA,相当于你又要学一种编程平台。所以还是直接用OpenCL吧,如果不想用CUDA的话。
: 之所以CUDA不是跨平台的,但仍然非常重要,主要是因为它推出的早,而且因为Nvidia的GPU非常强大,所以CUDA成为事实上的标准,在OpenCL没有推出之前,很多GPU应用或者软件都是基于CUDA开发的,所以CUDA比较强势,不过理论上来说OpenCL将来应该应用更广阔,好像Vulcan最近也很火。
: ...................
--
FROM 222.129.131.*