keras调用gpu 为什么A卡不像N卡那样,开发类似CUDA的API,从而可以做科学计算?
为什么A卡不像N卡那样,开发类似CUDA的API,从而可以做科学计算?
虽然NVIDIA显卡有CUDA,amd显卡也有OpenCL。事实上,CUDA和OpenCL都是为了满足通用并行计算的需求而设计的。然而,CUDA是一个成熟的开发平台,它为NVIDIA提供了一个完整的工具包,相对来说更加专业和封闭。OpenCL是一个开放的标准,被许多软硬件制造商广泛使用。
就科学计算而言,CUDA对开发人员更友好,应用更广泛。这与CUDA相对完整的开发工具包有很大关系。经过多年的开发,CUDA拥有比OpenCL更好的生态系统,它更易于使用,对程序员也更友好。虽然OpenCL是开放的,但是它的API设计很怪异,缺乏一致性,并且它的函数不是正交的,这并不简单,它还远远不够成熟。
Amd显卡目前不支持CUDA,但只能支持OpenCL。在一些科学计算程序中,AMD显卡的计算效率明显低于N显卡。这就是CUDA的优势。amd之所以没有像CUDA那样开发API,是因为amd没有足够的实力来制定这个标准。英伟达早在2006年就开始在gtx8800显卡上推出CUDA,经过这么多年的发展,英伟达已经投入了巨大的人力物力取得了今天的成绩,包括一年一度的GTC大会,在CUDA和相关技术推广方面做了大量的工作,而amd显然缺乏这样的工作。
事实上,作为同时开发CPU和GPU的半导体制造商,AMD要做到这一点并不容易。在资金不能大幅度增长的情况下,显卡业务只要做好自己的工作就非常好。至于新的API标准,显然很难做到。我们只能期待OpenCL有一个更好的未来。
keras调用gpu keras显存不够 keras如何跑gpu
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。