Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何在MPI中共享工作区?_C_Linux_Filesystems_Mpi_Workspace - Fatal编程技术网

C 如何在MPI中共享工作区?

C 如何在MPI中共享工作区?,c,linux,filesystems,mpi,workspace,C,Linux,Filesystems,Mpi,Workspace,我想知道两件事: 当我在由3台计算机组成的mpi群集上运行我的应用程序时,它是从某个共享虚拟目录运行的,还是我对运行我的应用程序的每台计算机上的某个目录/某个文件夹具有行访问权限 我的程序使用了很多共享库,特别是当我在一台计算机上运行它时,我调用export-LD\u-LIBRARY\u-PATH=./:./libs\u-boost/如何使我的程序与其他机器共享库而不共享整个目录?是否可以说类似于mpiexec-n24-跨机器共享文件=./file1.so:./lib\u boost/**:.

我想知道两件事:

  • 当我在由3台计算机组成的mpi群集上运行我的应用程序时,它是从某个共享虚拟目录运行的,还是我对运行我的应用程序的每台计算机上的某个目录/某个文件夹具有行访问权限
  • 我的程序使用了很多共享库,特别是当我在一台计算机上运行它时,我调用
    export-LD\u-LIBRARY\u-PATH=./:./libs\u-boost/
    如何使我的程序与其他机器共享库而不共享整个目录?是否可以说类似于
    mpiexec-n24-跨机器共享文件=./file1.so:./lib\u boost/**:./some\u other\u not\u lib\u file.txt

MPI不对文件如何共享/分发给所有人做出任何假设 参与节点。这完全是本地配置的问题, 因此,您无法得到一个一般性的答案:您必须了解集群是如何运行的 是否已配置(请询问您的系统管理员?)

更具体地说:

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

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

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


MPI不对文件如何共享/分发给所有人做出任何假设 参与节点。这完全是本地配置的问题, 因此,您无法得到一个一般性的答案:您必须了解集群是如何运行的 是否已配置(请询问您的系统管理员?)

更具体地说:

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

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

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