windows下MPI程序访问网络磁盘映射

MPI并行计算框架因为是基于C的,所以对于已有的C++代码只需要小改动就能实现并行化。
但是,使用MPI的时候,如果要访问通过网络磁盘映射的方式得到的路径,要怎么访问呢?

错误的方式:
在windows下利用磁盘映射,将\server_ipfolder映射到Z:
MPI程序中读取Z:xxx
这种方式对于普通的程序有效,但是MPI无法得知系统的映射对象(MPI只会读取本地磁盘盘符)参见:http://lists.mcs.anl.gov/pipermail/mpich-discuss/2007-September/002759.html
于是如果在MPI程序中写了读Z:xxx文件,会读取失败。

正确的方式:
FILE *fi=fopen("\\server_ip\folder\xxx","r");

直接通过这种网络位置的方式来读取。

这个小bug居然搞了我两个小时。。路漫漫其修远兮啊~

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注