gpt4 book ai didi

java - 使用 OpenCl 与 java 的异构计算

转载 作者:行者123 更新时间:2023-11-29 03:46:49 25 4
gpt4 key购买 nike

Java和OpenCL都支持异构计算;具有多个架构的系统并行协同工作(任务和数据并行)。

便携性是这两种情况的主要目标,并且都在很大程度上实现了这一目标。事实上,OpenCl 仍然不能在 FPGA 和 DSP 上运行,因为这些工具不可用。 JVM 可以为 GPUs FPGA, ARM 等开发。

两者都生成中间代码。

尽管有这么多相似之处,但为什么以及何时应该更喜欢 OpenCL 而不是 Java 来进行异构计算?

已编辑

请具体说明我的问题:尽管有很多相似之处,但为什么以及何时应该更喜欢 OpenCL 而不是 Java 来进行异构计算?为什么我选择 OpenCL 而不是 Java? 如果您说 openCl 具有更好的性能,那么我的直接问题是为什么会这样(因为两者都会生成需要转换为特定 h/w 的二进制文件的中间代码)。

最佳答案

OpenCL 通常用于处理大量并行操作(计算等)。这就是 OpenCL 蓬勃发展的地方,您的程序的吞吐量确实会因此而增加。

Java 是一种通用语言,用于编写在各种平台/设备上运行的应用程序。

它们作为工具有不同的用途,但您可以使用 JOCL 从您的 Java 程序中使用 OpenCL .我还使用了 AMD 的工具 Aparapi .因为我想让我的应用程序执行一些计算,我的 ASUS AMD 6970 卡似乎比我的 6 核 AMD 1090T Phenom Black Edition 更快地完成这项工作。

只是为了让你知道 Aparapi 是什么(取自 google code site ):

Aparapi allows Java developers to take advantage of the compute power of GPU and APU devices by executing data parallel code fragments on the GPU rather than being confined to the local CPU. It does this by converting Java bytecode to OpenCL at runtime and executing on the GPU, if for any reason Aparapi can't execute on the GPU it will execute in a Java thread pool.


Despite so many similarities why and when should one prefer OpenCL over Java for Heterogeneous Computing?

人们会选择 OpenCL 来执行并行处理任务,否则这些任务将花费大量时间在 CPU 上执行。这种情况下的缺点是额外的热量和电力消耗成本。还要记住,某些任务在 CPU 上执行得更快。这完全取决于应用程序,大多数时候需要对两种类型的芯片进行试验,以确定哪种芯片最适合。

Why at all I chose OpenCL instead of Java?

对于面向并行处理的任务,人们会选择 OpenCL 而不是 Java。 OpenCL 是为此目的而构建的工具。 OpenCL 不是用于构建企业或桌面应用程序的东西。 Java 是一种编程语言,适用于在许多平台上运行的几乎任何领域。如果有人知道使用 OpenCL 可以比 Java 节省 24 小时的计算时间;当然,Java 将被边缘化,OpenCL 将是可行的方式,或者只是 OpenCL 可以通过 Java 应用程序使用。

If you say openCl has better performance then my immediate question will be why it is so(since both generate intermediate code that need to be converted into binaries for specific h/w).

它在特定应用程序上有更好的性能,因为 GPU 比 CPU 有更多的内核。它们的频率虽然很低,所以这意味着它们在并行任务上比顺序任务更好。您必须牢记,OpenCL 用于基本计算,而不是用于构建完整风格的应用程序……至少据我所知。

关于java - 使用 OpenCl 与 java 的异构计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512927/

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