【发布时间】:2023-03-10 23:34:01
【问题描述】:
APARAPI project 将自己描述为:
Aparapi 允许 Java 开发人员通过在 GPU 上执行数据并行代码片段而不是局限于本地 CPU 来利用 GPU 和 APU 设备的计算能力。它通过在运行时将 Java 字节码转换为 OpenCL 并在 GPU 上执行来实现...
我想知道与 gpars 或 Akka 等传统并发框架相比,这有什么好处。
在什么情况下将 JVM 字节码转换为 OpenCL 会比这些替代方案提供的更快或更可取?为什么 OpenCL/GPU 范式比 Java/CPU“更快”(至少在某些情况下)?什么情况下需要这样做?
【问题讨论】:
-
是的,它有可能更快。实际上,这是一个简单的区别:APARAPI 允许您在 GPU 上运行并行代码,而 gpars 和 Akka 允许您并行化代码以在 CPU 上运行。
-
我在stackoverflow.com/questions/22866901/…写了几句话(这个问题提到了CUDA,但我的回答比较笼统)
-
如果计算与数据的比率很高,aparapi 将根据硬件赢得 x2 到 x100。 cpu 核心宽度仅为 16,而 gpu 计算单元为 64 或 128 宽,一个 gpu 中最多可以有 64 个这些单元。与 cpu 相比,gpu 中使用的寄存器要多得多。
标签: java akka opencl gpu aparapi