2014-04-13 71 views
0

我正在開發源碼Java成像系統。大部分繁重和數字運算都是由OpenCL通過JavaCL完成的。但是,我需要執行批量FFT,這似乎不符合內置的JavaCL FFT算法。用於批處理的Java OpenCL FFT

上的任何人提供意見,可:

  • OpenCL的FFT庫爲Java
  • 請教JNA或JNI是否會更好的選擇,以實現一個C++的OpenCL FFT庫(最有可能clAmdFFT)。

回答

0

不過,我需要做批量的FFT這似乎不適合在JavaCL FFT算法內置 。

JavaCL FFT有什麼問題? OpenCL支持你想要做什麼,而JavaCL不支持?如果是這樣,則需要將該功能引入JavaCL。如果不是,請爲您的FFT使用不同的本機實現。在JNA或JNI是否是更好的選擇

建議實行C++ OpenCL的FFT庫

首先,JNI將超過JNA更好的表現。好多少將取決於您正在使用的數據的數量和類型以及您正在創建的本地函數調用的數量。 JNA還要求您根據庫庫列出所有需要Java的方法,這可能需要很多工作。我將首先在JNA中實現一個小函數,看看性能是否足夠,然後確定JNI是否值得。

這裏還有更多關於JNA的深入信息:Use JNI instead of JNA to call native code?