Warm tip: This article is reproduced from serverfault.com, please click

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

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

发布于 2020-11-14 21:41:42

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

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软件包,因此非常感谢你提供任何技巧/见解!

Questioner
kirklong
Viewed
0
kirklong 2020-11-30 05:58:38

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

因此,如果你想使用自定义图像在Parallel中运行Julia项目,你确实可以编写:

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

它将快速运行!(假设你的操作系统对使用哪个Julia并不感到困惑)