如何在Java代码中使用OpenMP?

时间:2010-11-20 15:37:14

标签: java c java-native-interface openmp

我有一个Java项目,我必须通过OpenMP技术实现并行化(也就是说,我必须以某种方式在C / C ++和Java之间建立桥梁)。到目前为止,我被告知使用JNI在Java中集成C / C ++代码,但是,我也建议使用JaMP代替。我对这些技术/框架知之甚少,所以我的问题是,使用起来不那么痛苦,而且,一般来说,我如何在Java代码中实现OpenMP的东西呢?我是否可以仅使用Java线程(不使用OpenMP)实现相同的功能?我是这个领域的初学者,所以绝对非常感谢任何帮助。

提示:该项目是建立一个协作图形编辑器,通过将一个核心“放”到服务器和客户端之间的交互,并“将”放到另一个核心上进行有效的图形处理。

2 个答案:

答案 0 :(得分:5)

根据您对项目的简短而略微混乱的解释,我认为您根本不需要使用OpenMP。您想要做的就是完全在Java中完成,它具有良好(足够)的并发编程功能。

OpenMP是为完全不同类型的“并发”程序而设计的 - 真正用于并行程序;从本质上讲,它是用于在处理器之间传播循环迭代。这不适合你的问题。

如果您被告知必须使用Java和OpenMP,那么我认为您必须这样做。如果是这样,请使用JaMP。只有当有人持枪时,你应该走上Java + JNI + C / C +++ OpenMp的道路。

答案 1 :(得分:0)

Futures也可以查看您的项目。   我认为并没有被许多传统程序员用来并行化他们的工作。