(1) MPI-IO: 基本函数 open, close, write_shared

来源:互联网 发布:photoshop软件怎么购买 编辑:程序博客网 时间:2024/06/03 19:07



/** * int MPI_File_open(MPI_Comm comm, char *filename, int amode, MPI_Info info, MPI_File *fh); * int MPI_File_close(MPI_File *fh); * * int MPI_File_write_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) * * * int MPI_File_set_size(MPI_File fh, MPI_Offset size); * int MPI_File_get_size(MPI_File fh, MPI_Offset * size); * * int MPI_File_get_amode(MPI_File fh, int * amode); */#include<stdio.h>#include<stdlib.h>#include"mpi.h"int main(int argc, char *argv[]){int totalTaskNum, rankID;MPI_Init(&argc, &argv);MPI_Comm_rank(MPI_COMM_WORLD, &rankID);MPI_Comm_size(MPI_COMM_WORLD, &totalTaskNum);char processorName[MPI_MAX_PROCESSOR_NAME];int  resultLength;MPI_Get_processor_name(processorName,&resultLength);char buf[128];sprintf(buf, "totalTaskNum=%d, rankID=%d, proccessor_name=%s, processor_name's length = %d\n",totalTaskNum, rankID, processorName, resultLength);char *filename = "file.txt";MPI_File fh;MPI_Status status;MPI_File_open(MPI_COMM_WORLD, filename, MPI_MODE_CREATE | MPI_MODE_RDWR, MPI_INFO_NULL, &fh);MPI_File_write_shared(fh, buf, sizeof(buf), MPI_CHAR, &status);MPI_Offset file_size;MPI_File_get_size(fh, &file_size);int amode;MPI_File_get_amode(fh, &amode);printf("ranID = %d, file_size = %lld, amode = %d\n", rankID, file_size, amode);MPI_File_close(&fh);//after open, fh has the communicator infoMPI_Finalize();return 0;}


原创粉丝点击