gpt4 book ai didi

parallel-processing - 有没有一种语言可以利用大规模并行计算机?

转载 作者:行者123 更新时间:2023-12-04 08:02:26 25 4
gpt4 key购买 nike

有一家公司已经/正在开发一种非常并行的计算机,称为 Parallella。它看起来很有潜力,但它运行一些 C 风格的语言。

问。有没有人专门编写过一种语言来利用像这样的大规模并行计算机?

  • 第 1 条。它必须是一种 托管 垃圾收集语言。
  • 第 2 条。它必须使编写并行代码变得非常容易,而无需开发人员处理低级锁定。
  • 第 3 条。函数式语言的加分项。
  • 第 4 条。使用 lambda 的语言有 super 加分。

最佳答案

肯定有一种语言是为应对日益流行的并行计算而设计的。自 Moore's Law 去世以来,并行处理器的普及率飙升.对更好的编程语言并行计算的支持紧随其后。

我个人的建议是 HaskellClojure .两者都是函数式语言,它们在并行和并发计算方面取得了长足的进步,利用它们的函数性质来获得优势。 Haskell 有一本非常好的书,叫做 Parallel and Concurrent Programming in Haskell西蒙·马洛。我读过它,它很棒。 Clojure 也是从头开始构建的,考虑到了并发性。这个领域一个有趣的新玩家是 Julia , 但我不能说我对此一无所知。

至于第 1 条,我不知道托管语言是什么意思。编辑:您所说的托管语言通常称为 garbage collected语。您可能希望使用该术语来帮助获得更有效的答案。而且我推荐的所有语言都有垃圾回收。

至于第 2 条,Haskell 无疑使并行计算相当自动化,无需担心低级概念或锁定。有一个名为“par”的简单函数,它允许程序员注释要并行执行的两个计算。语义保证在必要时对表达式进行求值,并且由于计算是函数式的,因此保证它们不会以非线程安全的方式进行交互。

至于第 3 条,您在寻找函数式语言方面走在了正确的轨道上。函数式子计算具有自动线程安全性,在确保并行执行不会引起问题时会带来很大好处。如果计算正常,它不会导致任何结果。

至于第 4 条,祝你好运,找到一种没有 lambda 的函数式语言 ;) 编辑:严格来说,它不是函数式语言定义的一部分,因为函数式编程语言没有正式定义是。非正式地,我认为很多人会提到它是最重要的功能之一。串联语言或基于默认编程(也称为无点风格)的语言可以发挥作用,并且无需使用 lambda。如果 K 语言尽管具有功能但没有 lambda,我也不会感到惊讶。另外,我肯定知道组合逻辑(这是 K 的基础)没有 lambda。虽然组合逻辑只是一个理论基础,而不是一种实用的编程语言。

关于parallel-processing - 有没有一种语言可以利用大规模并行计算机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23742214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com