LLVM 适合并行语言吗?

发布于 2024-08-25 19:21:40 字数 57 浏览 14 评论 0原文

LLVM 的哪些特性使其成为面向(并行、并发、分布式)语言实现的良好选择,是什么让它成为不好的选择?

What properties of LLVM makes it good choice for implementation of (parallel, concurrent, distributed)-oriented language, what makes it bad?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

尐偏执 2024-09-01 19:21:40

LLVM 被称为 LLVM(低级虚拟机)是有充分理由的。它的级别非常低,您不必受源语言的任何特定语义的约束。

LLVM 中有一些有用的东西可以使某些并行语言的编译变得更容易 - 例如,跳转到任意块: http://llvm.org/docs/LangRef.html#blockaddress

并且 LLVM 并不暗示任何特定的运行时属性,也不强制 GC 的任何特定实现。您可以在其上构建任何您想要的东西。

LLVM is called LLVM (Low Level virtual machine) for a good reason. It is so low-level that you're not bound to any particular semantics for your source language.

There are some useful things in LLVM that makes compilation of some parallel languages easier - e.g., jumps to arbitrary blocks: http://llvm.org/docs/LangRef.html#blockaddress

And LLVM does not imply any particular runtime properties, does not force any specific implementation of GC. You can build whatever you want on top of it.

糖粟与秋泊 2024-09-01 19:21:40

For some practical examples in this space see http://code.google.com/p/gpuocelot/. It allows Cuda code to multitarget on x86.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文