首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >GPU和SIMD有可能在.NET / Java中实现吗?

GPU和SIMD有可能在.NET / Java中实现吗?
EN

Stack Overflow用户
提问于 2011-09-06 17:01:25
回答 4查看 2.4K关注 0票数 16

一段时间以来,主流计算硬件已经支持SIMD指令(MMX、SSE、3D-Now等),最近我们看到AMD将480流CPU与CPU放在同一个芯片中。

像F#、Scala和Clojure这样的函数式语言也正在获得吸引力,一个共同的吸引力是这些语言中的并发编程非常容易。

是否有计划让Java或.NET CLR开始提供对并行计算硬件资源的访问,以便函数式语言能够成熟以利用硬件?

虚拟机目前似乎是高性能计算的瓶颈,单指令多路存储器和图形处理器访问被委托给第三方库和后编译器(tidepowered.net、OpenTK、ScalaCL、Brahma等)。

有没有人知道微软/甲骨文/开源社区的任何计划/路线图,使他们的虚拟机与新的硬件和编程范例保持同步?

有没有一个很好的理由来解释为什么供应商在接受上如此迟缓?

编辑:

到目前为止,为了解决反馈问题,GPU编程确实很复杂,如果做得不对,会降低性能。但是众所周知,并行是计算的未来-所以这个问题的关键是,如果应用程序和硬件之间的运行时不支持并行范例,那么硬件和编程语言接受并行范例将无济于事。为什么我们在虚拟机供应商的雷达/路线图上看不到这一点?

EN

回答 4

Stack Overflow用户

发布于 2011-09-06 17:56:43

你是说JavaCL和ScalaCL?它们都试图将CUDA/GPU编程迁移到javavm

票数 5
EN

Stack Overflow用户

发布于 2011-09-06 17:21:30

mono运行时已经包含了对一些单指令多数据指令的支持--参见http://docs.go-mono.com/index.aspx?link=N%3aMono.Simd

对于微软的CLR实现,您可以使用XNA,它允许您运行着色器等,也可以使用加速库https://research.microsoft.com/en-us/projects/accelerator/,它提供了运行GPGPU计算的接口

票数 4
EN

Stack Overflow用户

发布于 2011-09-07 13:36:30

Java在并行领域已经有一段时间了,首先是java.util.concurrent包,现在是fork/join框架。希望在未来,像Clojure和Scala这样的语言将提供很好的高级抽象来利用fork-join。

GPGPU编程只对非常特殊的问题提供了显着的性能提升。.Net和Java是通用编程语言。另外,谁想在Java这样的语言中进行CUDA风格的编程呢?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7317371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档