新函数式编程语言将简化GPU应用开发


哥本哈根大学计算机科学系的研究人员最近发布了开源函数编程语言 Futhark,为 GPU 应用程序生成C和 Python 代码,加速机器学习和数学密集类程序的开发。绝大多数 GPU 编程使用到框架如 OpenCL 或 CUDA,两个框架都使用C或 C++ 方言去生成运行在 GPU 上的代码。

Futhark 是用 Haskell 开发的,语法上也类似 Haskell 或 Standard ML 语言,能自动生成能整合在现有应用中的 C 和 Python 代码。开发者声称这种新语言简化了使用并行计算的复杂操作的描述。早期测试对比了 Futhark GPU 程序与其它 GPU 库,结果显示在某些测试中 Futhark 的成绩令人瞩目。

本文地址:

http://www.linuxprobe.com/new-functional-program-language-futhark/

时间: 2024-11-05 14:53:17

新函数式编程语言将简化GPU应用开发的相关文章

优雅的函数式编程语言

快排,任何算法基础教程里必讲的最后一种排序算法,我这个差生直到毕业也没能用java或c默写出来一个快排.我模糊的直到他是一种"分而治之"的思想,可是一写到分而治之的时候就脑子里一片浆糊,搞不清分到哪了.那冗长的代码我想死记硬背也背不下来.重温一下噩梦,贴一个网上搜出来的java实现的快排: public int getMiddle(Integer[] list, int low, int high) { int tmp = list[low]; while (low < high

苹果新的编程语言 Swift 语言进阶(一)--综述

Swift 是苹果开发和提供的供开发IOS 和OS X应用的一门新的语言.Swift语言基于C 和Objective-C语言,除了提供C 和Objective-C语言具有的所有语法功能外,为了编程方便和高效,Swift在语法上作了大量的优化和改进. Swift采用安全编程模式,具有许多先进的强大的功能 ,如动态运行时.编译动态进行类型检查.Closures.下标功能.自动引用计数.选项类型.通用类型和类型编译时推断.类型的扩展和嵌套.协议类型.功能和类型的通用化.操作符的定制和添加. Swift

Frege-基于JVM的类Haskell纯函数式编程语言

Frege是一门受Haskell语言启示而设计的纯函数式编程语言.Frege程序会被编译为Java,并执行于JVM上.它与Haskell是如此的类似.以至于有人称它为JVM上的Haskell.取Frege这个名字是为了纪念德国数学家.逻辑学家.哲学家Gottlob Frege. 语言的主要特色 纯函数式编程语言 继承了函数式编程语言Haskell的精神.默认就具有不变性(immutability). 执行于JVM之上 Frege程序编译为Java bytecode.执行于JVM(Java 7+)

框架成为新的编程语言的7种理由

感谢强大的工具.对速度的需求.和编程本身的变迁,下一次乏味的战争将终结于框架 API.而非语法. AD: 在 1980 年代,掀起一场乏味战争的最简单方法,就是赞扬你钟爱的编程语言是最棒的.C.Pascal.Lisp.Fortran?程序员们花费数个小时来详细解释关于精巧制作一条 if-then-else 语句的特定方式为什么优于你的方式. 那是过去的事情了.今天,涉及语法和结构的战争基本结束了,因为世界已经汇总了一些简单标准.在 C.Java 和 JavaScript 里,分号.花括号等之间的

函数式编程语言

最近一段时间总是听到或者看到有人谈论“函数式编程”,第一次接触是在大概半年前的一次沙龙中,当时听人讲的时候,心想这有什么难理解的,函数式编程,函数嘛,那就是C呀,C++放在首位的是对象,面向对象编程,C放在首位的不是函数吗,那就是函数式编程啊,整个经验交流迷迷糊糊的,只记住了个lambda.但是在后来陆陆续续还是听到了这个名词,而且也知道并不是我理解的那个样子,C不是“函数式编程”,而是“面向过程编程”,是“命令式编程”,但是还不是很理解到底是怎么区分的.于是周末翻阅了一下资料,稍作“概念层次”

20个可以帮你简化iOS app开发流程的工具

这里推荐20个可以帮你简化iOS app开发流程的工具.很多开发者都使用过这些工具,涉及原型和设计.编程.测试以及最后的营销,基本上涵盖了整个开发过程. 原型和设计 有了一个很好的创意后,你要做的不是立刻编程,而是设计UI和创建原型,这样你才能知道app如何运行,根据用户体验需要做哪些调整. App Cooker AppCooker 不仅是一个创建原型的优秀工具,它提供的许多功能还可以帮助你将程序发布到App store中.它集成了Dropbox,Box.net和photo roll,你可以直接

[原创译书] JS函数式编程 2.1 函数式编程语言

?? Functional Programming in Javascript 主目录第二章 函数式编程基础 函数式编程语言 函数式编程语言是那些方便于使用函数式编程范式的语言.简单来说,如果具备函数式编程所需的特征, 它就可以被称为函数式语言.在多数情况下,编程的风格实际上决定了一个程序是否是函数式的. 是什么让一个语言具有函数式特征? 函数式编程无法用C语言来实现.函数式编程也无法用Java来实现(不包括那些通过大量变通手段实现的近似函数式编程). 这些语言不包含支持函数式编程的结构.他们是

PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用基础

1.新浪微博开放平台(http://open.weibo.com/wiki/index.php/Quickstart)        开放的是什么:开放平台开放给开发者的是每一个用户的用户关系,开发者不在向传统应用那样面对单个开发者而是面对用户身后的整个好友圈.每一个API都是围绕好友与好友之间的交流来提供相关的功能,如发送微博,查看好友资料等等.        为什么要使用开放平台?开放平台可以加快应用的推广.每个用户可以影响到周围的好友,一旦应用真的优秀,用户可以方便的推荐给好友,好友又可以

苹果新的编程语言 Swift 语言进阶(六)--函数和闭包

一 .函数 1.1. 函数的定义和调用 函数的定义以func关键字作为前缀,接着是函数名字,接着跟着一个可以带有参数,也可以不带参数的圆括号,接着用-> 指示函数的返回类型.函数执行体用一对大括号{}包围.如下定义了一个函数名为sayHello的函数,该函数包含一个名字为personName,类型为String的输入参数. func sayHello(personName:String) -> String { let greeting ="Hello, " +person