在 Julia 中使用 FFTW 时,我可以 link 到 FFTW 的本地编译版本吗?
When using FFTW in Julia can I link to a locally-compiled version of FFTW?
当我安装 Pkg.add("FFTW")
时,Julia link 如何进行 FFTW?我猜它下载了一个预编译版本,因为我没有给它一个 link 我的本地版本的路径,而且它似乎没有足够长的时间从源代码编译 FFTW。那是对的吗?如果是这样,是否有办法将 Julia 设置为使用本地编译和优化的 FFTW 版本?我问是因为我有一个同时具有 Julia 和 C++ 版本的模拟代码,而 C++ 的运行速度大约快 6-7 倍,尽管我认为两者应该将大部分时间花在 FFTW 调用上。所以我想知道区别是否在于 Julia 版本使用的 FFTW 优化程度较低。
许多 Julia 包通过所谓的 JLL. Julia also provides 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/
当我安装 Pkg.add("FFTW")
时,Julia link 如何进行 FFTW?我猜它下载了一个预编译版本,因为我没有给它一个 link 我的本地版本的路径,而且它似乎没有足够长的时间从源代码编译 FFTW。那是对的吗?如果是这样,是否有办法将 Julia 设置为使用本地编译和优化的 FFTW 版本?我问是因为我有一个同时具有 Julia 和 C++ 版本的模拟代码,而 C++ 的运行速度大约快 6-7 倍,尽管我认为两者应该将大部分时间花在 FFTW 调用上。所以我想知道区别是否在于 Julia 版本使用的 FFTW 优化程度较低。
许多 Julia 包通过所谓的 JLL. Julia also provides 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
如果您碰巧发现速度变慢是由于不同的库,请报告给https://github.com/JuliaPackaging/Yggdrasil/