2012-02-07 152 views
29

有没有人知道是否有计划为g ++(GCC)开发新的C++ AMP标准,它最近由released作为open specification?我看到有人是already asking about Intel support in their forums。但我没有看到任何GCC。GCC是否支持C++ AMP

+0

它看起来并不像一个*标准*我 - 它似乎也只有Windows? – 2012-02-07 16:31:13

+9

C++ AMP是在Microsoft创建的开放标准。是的,它目前只有Windows,但这就是问题的全部... – ltjax 2012-02-07 16:38:08

+0

根据MSDN上的博客,这是一个“开放式规范”,它基于DirectX。 – 2012-02-07 16:39:24

回答

9

如果标准变成了一个真实的ISO标准那么它在未来有可能,但实际上任何东西的MS-PL许可下总是由FSF(例如单的大部分地区)谨慎处理。 Richard Stallman非常反对使用微软的开放代码,他仍然有许多关系,虽然主要是政治上的,但对GCC来说,所以我怀疑目前的AMP规范是否会得到支持。任何开源支持更可能来自Clang项目。他们的BSD样式许可更为宽松,围绕它的社区更加愿意与商业实体进行合作。

更新:我输错EFF(电子前沿基金会),打算写FSF(自由软件基金会)。谢谢Max Laybbert指出。

+1

我知道已经很晚了,但我必须挑剔:FSF(自由软件基金会)是GCC的组织,而不是EFF(电子前沿基金会,通常是在提起诉讼)。他们是两个独立的组织,彼此之间没有正式的联系。 – 2012-04-03 15:07:34

+1

你说得对,对不起,我把我的缩写混淆了。更糟糕的是,我为政府工作,他们都是关于这里的缩略词。 – 2012-04-03 21:40:17

+4

由于这是一个规范,而不是源代码,MS-PL不适用。微软拥有该文档的版权,虽然有一些相关的补助金,并且在其“社区承诺”下提供了专利权:http://www.microsoft.com/openspecifications/en/us/programs/community-promise/default.aspx所以斯塔尔曼可以毫不犹豫地反驳任何事情:这并不是阻止了他。 – 2012-05-01 07:37:07

10

article了在人工鱼礁说: >

AMP已经开发了微软与AMD和NVIDIA的输入。 微软的实施允许AMP程序使用主要的 CPU和Direct3D视频卡(通过公司的DirectCompute API), ,虽然该规范还应该允许基于OpenGL/OpenCL的 实现。

微软鼓励其他编译器开发人员实现 技术。已公布的规范之内,它包括一个 不可撤销的承诺不能断言对微软 可以认为是相关的AMP,除非实施方提出诉讼请求 微软的专利侵权的任何专利的权利要求。

我无法回答原来的问题,这对我来说似乎很有意思,但上面Ars的引用确实解决了一些已发布的评论。

+2

IANAL,但是这似乎是一个木马给我。首先它听起来像是与GPL不兼容,所以GCC无法使用。此外,在Clang中很难看到这一点,因为如果他们在哪里使用它,苹果或Google(Clang的两个主要用户和贡献者)都不能对他们执行专利(但事实并非如此) 。最后,我不知道它会向下渗透多远,也就是说,如果在C++ AMP中使用Clang来制作我自己的程序,我现在不能再起诉微软了吗?所以我不觉得他们是'鼓励'编译器来使用这项技术。 – 2013-05-05 04:23:31

+1

不是开源的实现(MS-PL或其他)与规范不一样。如果第三方决定实施该规范,那么如果微软声明了规范中描述的材料的任何专利,则可能存在知识产权/母公司问题。然而,捍卫你公有领域的专利很难,并且可能任何严肃的实施者在分发他们的工作之前都会解决这些问题。 – 2013-11-13 15:52:04