gpt4 book ai didi

c - MPI 中如何共享工作区?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:41:31 26 4
gpt4 key购买 nike

我想知道两件事:

  • 当我在由 3 台计算机组成的 mpi 集群上运行我的应用程序时,它是从某个共享虚拟目录运行的,还是我对运行我的应用程序的每台计算机上的某个目录/某个文件夹具有行访问权限?
  • 我的程序是否使用了大量共享库,通常当我在一台计算机上运行它时,我调用 export LD_LIBRARY_PATH=./:./libs_boost/ 如何让我的 .so 库与它共享其他机器共享整个目录?是否可以这样说 mpiexec -n24 -share_files_across_machines=./file1.so:./lib_boost/**:./some_other_not_lib_file.txt

最佳答案

MPI 不假设文件是​​如何共享/分发给所有人的参与节点。这完全是本地配置的问题,所以你不能得到一个笼统的答案:你必须看看你的集群如何已配置(询问您的系统管理员?)。

更具体地说:

  • MPI 进程仍然是常规的 UNIX(或 Windows)进程:因此您的应用程序可以使用任何操作系统调用来访问本地文件系统或共享网络文件系统(如果存在)。

    <
  • 在不提供共享目录的集群上,您可以使用 scp 将所需的启动文件(例如库)复制到其他节点,并类似地收集回输出文件。(最好使用 shell 脚本自动执行此操作。)

  • 一些应用程序允许您指定哪些节点可以执行 I/O:所有其他节点将通过 MPI 通信 channel 从指定 I/O 节点上运行的进程接收输入数据。 (但这不适用于这些库,因为它们在启动 MPI 进程之前由操作系统加载。)

关于c - MPI 中如何共享工作区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8468182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com