haskell – 是否有在GPU上运行的函数式编程语言?

栏目: 编程语言 · 发布时间: 7年前

内容简介:翻译自:https://stackoverflow.com/questions/21583480/are-there-functional-programming-languages-that-run-on-the-gpu

使用传统的顺序缩减方法,下面的图表减少为:

(+ (+ 1 2) (+ 3 4)) ->
(+ 3 (+ 3 4)) ->
(+ 3 7) ->
10

但是,图形缩减本质上是平行的.相反,人们可以将其减少为:

(+ (+ 1 2) (+ 3 4)) ->
(+ 3 7) ->
10

据我所知,每种函数式编程语言都使用第一种方法.我相信这主要是因为在CPU上,调度线程过度补偿了并行减少的好处.不过,最近我们开始使用GPU而不是CPU用于并行应用程序.如果一种语言完全在GPU上运行,那么这些通信成本就会消失.

是否有功能语言利用这个想法?

是什么让你想到GPU调度会不会过分包含这些好处?

实际上,GPU中使用的那种并行性要难以安排:它是 SIMD 并行性,即整批流处理器一次完全基本相同,除了每一个都压碎不同的数字.因此,您不仅需要安排子任务,还需要保持它们的同步.自动执行一般计算几乎是不可能的.

为特定任务执行此操作非常好,并已嵌入到函数式语言中;看看 Accelerate project .

翻译自:https://stackoverflow.com/questions/21583480/are-there-functional-programming-languages-that-run-on-the-gpu


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法JavaScript描述

数据结构与算法JavaScript描述

[美] Michael McMillan / 王群锋、杜 欢 / 人民邮电出版社 / 2014-8 / 49.00元

通过本书的学习,读者将能自如地选择最合适的数据结构与算法,并在JavaScript开发中懂得权衡使用。此外,本书也概述了与数据结构与算法相关的JavaScript特性。 本书主要内容如下。 数组和列表:最常用的数据结构。 栈和队列:与列表类似但更复杂的数据结构。 链表:如何通过它们克服数组的不足。 字典:将数据以键-值对的形式存储。 散列:适用于快速查找和检索。......一起来看看 《数据结构与算法JavaScript描述》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具