我们尝试使用Process类将其作为单独的外部进程调用。问题在于,我们无法控制应用程序(事件、处理程序、线程等等)。我们还尝试将C代码切换为Java代码,但性能下降了。除了将原生代码作为进程运行之外,我正在考虑JNA和JNI,但有一些问题。
问题: 1.为了获得更好(更快)的读/写解决方案,在JNI和JNA中是否可能通过直接(非托管)内存[Java(ByteBuffer#allocateDirect())]交换数据? 2.是否可能通过本地代码管理和处理进程,并通过Java代码(OpenCL lib)访问GPU(共享)内存? 3.JNA比JNI更快吗?
我们在Redhat Linux6 x64上拥有两个AMD W7000集群设备。