高手计划

AMD接受开源来承担Nvidia的游戏

日期:2018-06-21 浏览:13

AMD在图形市场的地位仍然是一个棘手的问题。尽管该公司在控制台领域拥有重要的设计优势——PlayStation 4和Xbox One都是围绕集成了AMD GPU的AMD CPU构建的,但它在PC领域的地位更不稳定。Nvidia目前拥有绝对的性能领先优势,或许更有问题的是,许多游戏都或多或少地针对Nvidia GPU进行了优化。这里的主要罪魁祸首之一是Nvidia的GameWorks软件,这是一个专为Nvidia的卡优化的游戏开发工具库,这些工具包括逼真的头发和阴影,以及可破坏环境的物理处理。当GameWorks游戏在AMD系统上运行时,它们通常会降低性能或图形质量。

为解决这一问题,AMD今天宣布推出GPUOpen,一套与GameWorks相当的工具。不过,顾名思义,GPUOpen和GameWorks之间有一个关键的区别: GPUOpen在一月份出版时将是开源的。AMD将使用许可的MIT许可证,允许GPUOpen代码在开放和封闭源代码应用程序中不受任何实际限制地使用,并将在GitHub上发布所有代码。

使库开放源码应该会使AMD的库比现在更有吸引力。AMD在这个领域已经有了产品;特别是,它的TressFX库处理毛发和毛发生成的方式与Nvidia的毛发作品相当。如果开发人员花时间和精力,他们甚至可以把两者都包括在内;Grand suption Auto V的个人电脑版本同时支持TressFX和HairWorks。但这是额外的工作,许多开发人员不会费心。这往往使一个或其他GPU供应商处于不利地位。

HairWorks和TressFX都是针对各自开发人员的GPU进行优化的,而且它们目前不是开源的,排除了其他GPU制造商的任何优化工作。我们听说开发人员随游戏附带的GameWorks库甚至不一定是最终用户系统上使用的库: Nvidia驱动程序用他们自己的最新例程替换库。这使得游戏开发人员的工作更加困难,因为当驱动程序更新时,他们重新调试和优化的代码将在最终用户系统上以不同的方式运行。

GPUOpen中包含开放源代码TressFX,以及用于阴影处理的开放源代码shadofx、用于物理的GeometryFX和用于环境遮挡的AOFX,打开了创建一组库的大门,这些库可以最佳地处理AMD、Nvidia甚至英特尔GPU。这将使GPU pen对开发人员有吸引力——不需要集成多个库,但同样,也没有让三大GPU供应商中的任何一个处于严重性能劣势的风险——因此可能会降低游戏的吸引力。source的可用性也将使开发人员更容易了解它在做什么,并诊断和调试他们可能遇到的任何问题。

GPUOpen包含的不仅仅是这些库。它还将包括一组SDK,如AMD的firerendrender渲染引擎、GPU加速光线跟踪SDK和RapidFire云SDK。它还将包括AMD的代码XL调试器和性能分析器。AMD共同提供大量图形资源库,所有开源,原则上GPU供应商中立。

开放源代码的全部开放堆栈扩展到不仅仅是游戏开发人员使用的库和工具。AMD目前有两个Linux驱动程序堆栈。有一个全开的Radeon驱动程序和一个全闭的Catalyst驱动程序,后者趋向于更快更新。这正在改变。AMD的GPU将有一个通用的开源图形驱动程序。在这个开源基础上,将有两个并行堆栈,每个堆栈包含用于OpenGL图形、运动视频编解码器和OpenCL GPU计算的模块.. All Open stack将包含所有这些的开源模块。专业/玩家堆栈将包括开源运动视频模块和开源OpenGL模块。它的最后一个模块OpenCL将启动封闭源代码,但不是永久的:这个模块将同时支持OpenCL和Vulkan (在某种程度上取代OpenGL的高性能/低级、供应商中立的图形API ),并且它将演变成开放源代码。当这种情况发生时,虽然高性能OpenGL模块将保持封闭源,但现代OpenCL / Vulkan模块将是开放的。

随着这一演变的发生,这意味着Linux将获得对完全开放源代码、高性能驱动程序堆栈的访问,唯一的限制是开发人员必须使用Vulkan而不是旧的OpenGL。AMD开源贡献的最后一项是它的波尔兹曼倡议。 AMD s HSA (异构系统体系结构)旨在允许开发人员在CPU和GPU,主要针对游戏等典型桌面任务。Boltzmann倡议将HSA概念扩展到高性能工作负载,方法是增加群集支持,不仅在系统中的CPU和GPU之间,而且在使用InfiniBand连接的多个系统中的CPU和GPU之间分配工作负载,以及在不实际驱动任何显示器的情况下使用GPU的无头Linux驱动程序。Nvidia s CUDA已广泛用于科学和工业GPU计算集群工作负载。为了解决这个问题,AMD正在开发HIP,这是一种异构计算接口,可移植性是玻尔兹曼计划的一部分。这是一组用于执行并行计算的c++库,以及使用HIP库将GPU计算代码从专有CUDA转换为标准c++的工具。这个HIP c++然后可以用AMD GPU的AMD异构计算编译器( HCC )、Nvidia GPU的NVCC或CPU的常规c++编译器编译。hcc++编译器是建立在开源Clang / LLVM编译器框架之上的。凭借HIP和Boltzmann Initiative的HSA演进版本,AMD有机会打开高性能计算( HPC )市场,尽管目前CUDA和Nvidia占据主导地位。早期访问计划将在2016年第一季度开放,关键部分,包括HCC编译器,将是开放源代码。

这些事情会不会终结Nvidia在这些领域的统治地位?当然不是一夜之间。例如,游戏作品的使用是一件复杂的事情,开发者被迫增加出版商的支持。也有一些针对一个GPU供应商或另一个供应商优化的游戏交叉促销,创造了额外的奖励。尽管如此,这套开源工具应该可以减少供应商锁定,从而使AMD在这些领域更具竞争力。



联系方式丨CONTACT

  • 全国热线:
  • 传真热线:
  • Q Q咨询:
  • 企业邮箱: