返回 登录
0

新的函数式编程语言可以为应用生成C,Python代码

哥本哈根大学计算机科学系的研究员最近发布了Futhark,这是一种函数式编程语言,可以产生运行在GPU上的代码,主要用于机器学习和其他对性能要求高的应用。

Futhark在GPU编程方面比标准的C/C++框架更加优秀。它可以给已经存在的应用生成C和Python代码,并完美地整合进去。

大多数的GPU编程都使用了像OpenCL或CUDA这种框架,用C或C++生成在GPU运行的代码。Futhark可以产生C语言代码,但是使用它自己的语言,有点像Haskell(Futhark本身就是用Haskell写的)。

Futhark的作者说,这个语言优秀的表达能力让复杂的并行程序变得更容易描述。它支持嵌套并行(在并行操作中还有其他的并行操作)。Futhark可以“不用担心复杂度,将并行程序和平台硬件支持的并行关联起来,很多程序都依赖这个特性。”它的作者说。

Preliminary benchmarks使用有自己的GPU编程,不兼容其他的GPU库。在最好的测试结果中,Futhark的速度几乎是竞争对手的两倍。但是其中也有测试结果显示,Futhark的速度比较慢。Futhark的开发者说,这是因为它还是一种年轻的语言,很多方法未经优化。

现在的Futhark可以生成能在CPU和GPU运行的程序。之前,它生成的C语言代码只能被GCC编译;现在它可以生成OpenCL平台的代码了。所以它基本上支持所有平台的代码,这和GPU加速应用MapD数据库有点像,如果需要的话,可以回到CPU运行。

想要快速启动的Python用户可以使用Futhark自动生成一个Python模块。GPU代码通过Python的GPU接口PyOpenCL运行。这里有一些示例

虽然Futhark仍然是一个研究中的项目,不像其他语言那样完整,甚至文档也是不完整的。但是这个项目的文档和源代码已经在Github开源了。

原文地址:New functional programming language can generate C, Python code for apps
翻译:赖信涛
责编:孙思


2016年5月13日-15日,由CSDN重磅打造的2016中国云计算技术大会(CCTC 2016)将于5月13日-15日在北京举办,今年大会特设“中国Spark技术峰会”、“Container技术峰会”、“OpenStack技术峰会”、“大数据核心技术与应用实战峰会”四大技术主题峰会,以及“云计算核心技术架构”、“云计算平台构建与实践”等专场技术论坛。大会讲师阵容囊括Intel、微软、IBM、AWS、Hortonworks、Databricks、Elastic、百度、阿里、腾讯、华为、乐视、京东、小米、微博、迅雷、国家电网、中国移动、长安汽车、广发证券、民生银行、国家超级计算广州中心等60+顶级技术讲师,CCTC必将是中国云计算技术开发者的顶级盛会。目前会议门票限时7折(截止至4月29日24点),详情访问CCTC 2016官网

评论