扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
ZDNet至顶网服务器频道 11月25日 编译:英伟达公司日前宣布,其GPU编程语言最新版本CUDA 6已经加入“共享内存”机制;顾名思义,程序员们将彻底摆脱令人头痛不已的磨难,无需再以手动方式在CPU与GPU的独立内存空间之间复制数据。
CUDA 6采用特殊方式愚弄系统的CPU与GPU,使其认为二者采用同一套共享式内存资源池
“程序员们一直饱受GPU编程难题的困扰,”英伟达公司主要面向高性能计算的Tesla业务部门总经理Sumit Gupta在接受采访时指出。“最大的原因在于——事实上也是惟一的原因——内存空间一直以来被硬性划分为两块:CPU及其内存外加GPU及其内存。”
作为软件,CUDA当然无法对两套内存空间的物理统一产生影响——CPU仍然配备属于自己的内存,GPU也是同样。不过对于使用CUDA 6的程序员来说,二者的硬性区分将成为历史:所有内存的访问、交付以及管理都“处于整体覆盖之下”——这里我们借用了甲骨文公司的Nandini Ramani在本周AMD开发者大会APU13上对Java 8并行编程方案的形容语。
从使用CUDA 6的开发人员角度来看,CPU与GPU的内存空间在物理层面上也将趋于一致。“开发人员现在只需要对数据本身进行操作,”Gupta表示。
换句话来说,如果开发人员希望将A添加到B,其中A为CPU内存而B为GPU内存,那么新一代CUDA 6的出现将使他们直接以“将A添加到B”的直观方式进行表达——而无需关注数据的具体位置。底层CUDA 6通道将打理指向A与B的访问操作并将二者通过地址整理结合在一起。
根据Gupta的解释,这种新功能会把编程工作量一举降低约50%。由于我们自己并不是UDA程序员,所以还需要等待与此相关的进一步现场报道——或者文章评论——以判断Tesla业务部门负责人抛出的这番言论。
为了支持自己的观点,Gupta表示:“我们部门内部的几位程序员曾经抱怨过,他们‘最大的痛’就是数据移动与内存管理。通过有针对性地推出自动化处理方式,我们已经显著改进了程序员的生产效率。”
当然,在对数据进行迁移时(例如在CPU能够直接使用、GPU也可由此获取的位置)仍然会引发一些延迟状况,但开发人员并不需要通过编写代码实现转移或者利用编译器处理这部分额外代码行——这都是过去才存在的问题,如今已经成为历史。
CUDA 6还增加了一些额外细节变动,例如用于取代某些CPU库与GPU库的新型插入库,一部分GPU库也经过重新设计以自动在单一节点中的八个GPU之间实现扩展。
不过Gupta告诉我们,最关键的转变在于:过去最令开发人员困扰的内存管理工作已经不复存在,而这一切都是统一内存机制的功劳。
有了CUDA 6,他表示“程序员只需快乐编程就好。”
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者