有没有一种方法可以编译Haskell以在Xeon协处理器上运行?
英特尔的一些研究人员最近报道了Haskell研究编译器 (这是不可公开的,这使得他们的结果本质上是不可复制的),并测量了哈斯克尔缺口 (表明在某些情况下,Haskell的性能超过了C)。他们通过一种名为柱柱 (类似于C--)的中间语言描述了编译路线,并将其编译成C,这样他们就可以使用icc创建在Phi上可执行的对象代码。
GHC支持LLVM编译或直接生成本机代码(NCG)。据我所知,既没有针对Phi的NCG,也没有针对Phi的LLVM后端。通过C访问icc似乎是可能的,但我不确定它目前有多现实(我认为GHC中的C代码生成器不再受支持,LLVM IR到C后端也是如此,如果我错了,请纠正我)。
于是想到了三条路线:
-fvia-c编译哪条路线最可行(为什么/为什么不)?还有其他的可能性吗(因为像pillar2c这样的工具还没有(还没有),所以我放弃了支柱路线?可公开查阅)。
一个相关的问题是Phi的x86兼容性--似乎SSE/AVX指令不受支持,如果用gcc或clang编译的话,一些目标代码将无法运行。
更新:
在LLVM会议上与一些英特尔员工聊天后,他们似乎不太可能发布他们的Phi后端。然而,下一代的Xeon将支持AVX512。
发布于 2014-03-10 14:32:34
如果您通过C编译您的Haskell,结果不一定比C更快吗,因为您可以直接编写C代码吗?您的问题指出,您试图复制的项目是通过另一种语言编译的。
因此,我不确定可用的工具是否足够先进,以完成您想要做的事情,对不起。
https://stackoverflow.com/questions/22253311
复制相似问题