Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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
File MPI编程I/O文件输出_File_Parallel Processing_Io_Mpi_Binaryfiles - Fatal编程技术网

File MPI编程I/O文件输出

File MPI编程I/O文件输出,file,parallel-processing,io,mpi,binaryfiles,File,Parallel Processing,Io,Mpi,Binaryfiles,我正在处理MPI I/O。当我运行代码示例时,我对输出文件感到困惑。我认为它是一个二进制文件。 代码是 //Parallel MPI I/O to a single file #include "mpi.h" #include <stdio.h> #define BUFSIZE 100 int main(int argc, char *argv[]) { int i, myrank, buf[BUFSIZE]; MPI_File thefile; MPI_Init(&argc

我正在处理MPI I/O。当我运行代码示例时,我对输出文件感到困惑。我认为它是一个二进制文件。 代码是

//Parallel MPI I/O to a single file
#include "mpi.h"
#include <stdio.h>
#define BUFSIZE 100
int main(int argc, char *argv[])
{
int i, myrank, buf[BUFSIZE];
MPI_File thefile;
MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &myrank);
    for (i=0; i<BUFSIZE; i++)
        buf[i] = myrank * BUFSIZE + i;
    MPI_File_open(MPI_COMM_WORLD, "testfile",MPI_MODE_CREATE | MPI_MODE_WRONLY, MPI_INFO_NULL, &thefile);
        MPI_File_set_view(thefile, myrank * BUFSIZE * sizeof(int),  MPI_INT, MPI_INT, "native", MPI_INFO_NULL);
        MPI_File_write(thefile, buf, BUFSIZE, MPI_INT, MPI_STATUS_IGNORE);
    MPI_File_close(&thefile);
MPI_Finalize();
return 0;
}
//将MPI I I/O并行到单个文件
#包括“mpi.h”
#包括
#定义BUFSIZE 100
int main(int argc,char*argv[])
{
inti,myrank,buf[BUFSIZE];
MPI_文件;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_Comm_WORLD和myrank);

对于(i=0;i
testfile
是一个二进制文件。
od-i testfile
将转储整数。我知道了。还有一件事我如何从文本文件中读取整数。我做了,但当我打印从文件到屏幕读取的整数时,我看到了我不期望的数字。我建议你问另一个问题,并清楚地描述如何读取整数和预期结果和观察结果之间的差异。