当我安装Pkg.add("FFTW")
时,Julia如何链接到FFTW?我猜它下载了一个预编译的版本,因为我没有给它一个链接我的本地版本的路径,而且它似乎没有花足够长的时间从源代码编译FFTW。对吗?如果是这样,有没有办法将Julia设置为使用本地编译和优化的FFTW版本?我之所以问这个问题,是因为我有一个Julia和C++版本的模拟代码,C++ one的运行速度要快6-7倍,尽管我认为这两个版本的大部分时间都应该花在FFTW调用上。所以我想知道是不是Julia版本使用了一个不太优化的FFTW版本。
发布于 2020-10-23 03:28:22
许多Julia包通过所谓的JLL提供了预先构建的库。Julia还提供了a mechanism to override these artifacts。
具体来说,您的~/.julia/artifacts/Overrides.toml
将如下所示
[f5851436-0d7a-5f13-b9de-f02708fd171a]
FFTW = "...."
其中....
是安装FFTW的“前缀”,即lib/libfftw....
文件所在的目录。您可以在https://juliapackaging.github.io/BinaryBuilder.jl/dev/jll/#Non-dev'ed-JLL-packages上阅读有关覆盖JLL包的工件的更多信息。
如果您碰巧发现速度减慢是由于不同的库造成的,请务必将其报告给https://github.com/JuliaPackaging/Yggdrasil/
https://stackoverflow.com/questions/64489073
复制相似问题