在 Julia 中将自定义系统映像(来自 PackageCompiler.jl)与 MPI 结合使用

using custom system image (from PackageCompiler.jl) in conjunction with MPI in Julia

我最近一直在玩 Julia 的 MPI 包装器 (MPI.jl) – 昨天我在 C 和 Julia 中构建了一个愚蠢的测试问题并比较了性能,Julia 非常接近 C令人印象深刻!

我想我可以通过使用 PackageCompiler.jl 包来加快 Julia 的初始加载成本,从而进一步缩小差距,但我无法很好地播放它。如果我 运行:

julia --sysimage myImage.so --project myProject.jl

它工作正常(其中 myImage.so 是我用 PackageCompiler.jl 生成的系统映像),但是如果我 运行:

mpiexec -n np julia --sysimage myImage.so --project myProject.jl

我收到信号 6 中止。这是我第一次使用 MPI.jl 和 PackageCompiler.jl 包,所以非常感谢任何 tips/insights!

这确实有效!问题是我最近更新了 Julia 并使用 #!/usr/bin/env julia 使我的脚本可执行。当我编译最终使用 Julia 1.5.x 的系统映像时,而 /usr/bin 中的符号链接仍然指向旧的 Julia (1.4.x).

因此,如果您想 运行 您的 Julia 项目与自定义图像并行,您确实可以这样写:

mpiexec -n np julia --sysimage myImage.so --project myProject.jl

它会 运行 快如闪电! (假设您的 OS 不对使用哪个 Julia 感到困惑)