2016 - 2024

感恩一路有你

keras如何跑gpu 为什么A卡不像N卡那样,开发类似CUDA的API,从而可以做科学计算?

浏览量:2485 时间:2021-03-17 01:50:46 作者:admin

为什么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没有足够的实力制定这项标准,而NVIDIA早在2006年的GTX8800显卡上就启用cuda计划了,这么多年的发展nvidia也投入了巨大的人力物力才获得今天的成就,包括每年的GTC大会都对cuda和相关技术的推广做了大量工作,而AMD显然缺乏这方面的工作。

其实AMD作为同时研发CPU和GPU的半导体厂商,能做到这样就很不容易了,在资金无法大幅增长的情况下,显卡业务只要做好本职工作就很不错了,至于弄什么新api标准显然很难做到,只能期待OpenCL的未来能更加美好吧。

学Python一定要会算法吗?

刚开始入门时,不是必须学好算法的。但是随着技术的深入,算法还是需要的,不然只能干点"搬砖"的活儿。

1、学好软件开发离不开计算机理论基础,如数据结构、操作系统、网络技术、算法研究等。如果热爱这门技术,这些都是不问题,先入门,这些慢慢的都可以补上。

2、关于算法,它是软件开发的灵魂,没有好的算法写不出优秀的程序。

3、如何学习算法,首先选取经典算法教材。基础的可以先从《数据结构》学起,里面有些基础算法,然后再去学专门的算法(其实把数据结构范畴的算法学好,一般就够用了)。还有网上有很多论坛,算法网站,为了吸引眼球 一般都做的浅显易懂。还有大部分算法为c语言,但语言在算法层面都相通的,明白算法模型才是最重要的。

4、万事开头难,只要入门,剩下的就是慢慢经营这门技术就行了。算法在实践中学的最快也最牢固。

希望能帮到你




keras如何跑gpu python多显卡支持 keras和tensorflow的关系

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。