If you are just doing FFT, and other such things, have you thought about Intel's MKL or AMD's ACML[PDF]? Both have FFT. Paying for Matlab just to get FFT routines is, IMHO, silly. Just use a good high performance C++/Fortran library.
That all being said, this gentleman maintains a patched versions of GSL that compiles with Visual Studio
If I wanted to distribute an application which uses GSL, what license would I need to use? The GNU General Public License (GPL). The bottom line for commercial users:
GSL can be used internally ("in-house") without restriction, but only redistributed in other software that is under the GNU GPL.
Intel's MKL has a licensing agreement that is probably what you are looking for.
Can I redistribute the Intel Math Kernel Library with my application? Yes. When you purchase Intel MKL, you receive rights to redistribute computational portions of Intel MKL with your application. The evaluation versions of Intel MKL do not include redistribution rights. The list of files that can be redistributed is provided in redist.txt included in the Intel MKL distribution with product license.
I'm not overly certain about ACML's license, but I believe it costs money to distribute.
Matlab(表面上)比 C 更容易。但我很确定,如果使用正确,GSL,尤其是 FFTW 在原始性能方面应该击败 Matlab。
You don't need Cygwin to use GSL, only to build it. You'll need to use a MinGW GCC to do that, and use either Cygwin or MSYS as a POSIX shell environment to build it using "configure". Or try to find a prebuilt version. You should be able to create an import library for the created DLLs, with tools like gendef and MSVC's lib.exe. This will let you link the DLL with a Visual Studio compiler.
GSL can do FFT's, but FFTW is better at doing that. Both are GPL (if I'm not mistaken), so they will require your app to be GPL compatibly licensed.
Matlab is easier (superficially) than C. But I'm quite sure, when used correctly, GSL and especially FFTW should beat Matlab in terms of raw performance.
发布评论
评论(2)
如果您只是做 FFT 和其他类似的事情,您是否考虑过 Intel 的 MKL 或 AMD 的 ACML[PDF]?两者都有 FFT。恕我直言,仅仅为了获得 FFT 例程而付费购买 Matlab 是愚蠢的。只需使用良好的高性能 C++/Fortran 库即可。
总而言之,这位先生维护着 GSL 的修补版本,使用 Visual Studio 进行编译
如果您使用 GSL,则必须 GPL 许可
英特尔的 MKL 拥有许可协议,您可能就是这样的 正在寻找。
我对 ACML 的许可证不太确定,但我相信分发它需要花钱。
If you are just doing FFT, and other such things, have you thought about Intel's MKL or AMD's ACML[PDF]? Both have FFT. Paying for Matlab just to get FFT routines is, IMHO, silly. Just use a good high performance C++/Fortran library.
That all being said, this gentleman maintains a patched versions of GSL that compiles with Visual Studio
If you use GSL, then you have to license under GPL
Intel's MKL has a licensing agreement that is probably what you are looking for.
I'm not overly certain about ACML's license, but I believe it costs money to distribute.
您不需要 Cygwin 来使用 GSL,只需构建它即可。您需要使用 MinGW GCC 来执行此操作,并使用 Cygwin 或 MSYS 作为 POSIX shell 环境来使用“配置”来构建它。或者尝试找到预构建的版本。您应该能够使用 gendef 和 MSVC 的 lib.exe 等工具为创建的 DLL 创建导入库。这将允许您将 DLL 与 Visual Studio 编译器链接。
GSL 可以进行 FFT,但 FFTW 更擅长。两者都是 GPL(如果我没记错的话),因此它们将要求您的应用程序获得 GPL 兼容许可。
Matlab(表面上)比 C 更容易。但我很确定,如果使用正确,GSL,尤其是 FFTW 在原始性能方面应该击败 Matlab。
You don't need Cygwin to use GSL, only to build it. You'll need to use a MinGW GCC to do that, and use either Cygwin or MSYS as a POSIX shell environment to build it using "configure". Or try to find a prebuilt version. You should be able to create an import library for the created DLLs, with tools like gendef and MSVC's lib.exe. This will let you link the DLL with a Visual Studio compiler.
GSL can do FFT's, but FFTW is better at doing that. Both are GPL (if I'm not mistaken), so they will require your app to be GPL compatibly licensed.
Matlab is easier (superficially) than C. But I'm quite sure, when used correctly, GSL and especially FFTW should beat Matlab in terms of raw performance.