(7) MPI-IO: MPI_File_seek
来源:互联网 发布:js数组的indexof 编辑:程序博客网 时间:2024/05/21 17:07
fileview + seek 能组合出非常强大的功能,首先由fileview来抽象进程自己的文件视图,然后再在新的fileview逻辑视图中seek想要达到的位置。而不关心物理位置。
#include<stdio.h>#include<stdlib.h>#include<string.h>#include"mpi.h"/** * int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence) * here whence can be: *MPI_SEEK_SET, point to offset *MPI_SEEK_CUR, point to current+offset *MPI_SEEK_END, point to end+offset *according to fh *if fh is refreshed by setting fileview, then the seek operation is under the context of new fileview *otherwise, seek is under the original fileview */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 *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_Offset offset = rankID * 128;//each process will has its file view which starts with offsetMPI_File_set_view(fh, offset, MPI_CHAR, MPI_CHAR, "native", MPI_INFO_NULL);MPI_Offset seek_offset = 2;int whence = MPI_SEEK_SET;//after set fileview, the seek is the context of new fileviewMPI_File_seek(fh, seek_offset, whence);char read_buf[128];MPI_File_read(fh, read_buf, sizeof(read_buf), MPI_CHAR, &status);printf("rankID = %d, content = \'%s\'\n", rankID, read_buf);MPI_File_close(&fh);//after open, fh has the communicator infoMPI_Finalize();return 0;}
- (7) MPI-IO: MPI_File_seek
- (8)MPI-IO: fileview MPI_File_seek MPI_File_get_position MPI_File_get_byte_offset
- 实现MPI IO Stream
- MPI parallel IO
- 关于MPI-IO
- MPI-IO:Open/close/delete
- (2) MPI-IO: MPI_File_read_at MPI_File_write_at
- (3) MPI-IO: MPI_File_read_at_all MPI_File_read_at_all
- (5) MPI-IO: MPI_File_read_at_all_begin MPI_File_read_at_all_end
- (4) MPI-IO: MPI_File_iread_at MPI_File_iwrite_at MPI_Wait
- (6) MPI-IO: fileview MPI_File_set_view MPI_File_get_view
- (9) MPI-IO: fileview MPI_File_read MPI_File_write
- (10) MPI-IO -- fileview: MPI_File_read_all MPI_File_write_all
- (11) MPI-IO: fileview MPI_File_iread MPI_File_iwrite
- MPI-2 并行IO的使用方法
- MPI
- mpi
- MPI
- BMP格式解析
- 删除顺序容器内元素的操作
- linux start up
- Adobe Flash Builder 4 注册码
- winform中实现任务栏闪烁
- (7) MPI-IO: MPI_File_seek
- 在Ubuntu上为Android系统编写Linux内核驱动程序
- VC++选择目录对话框
- Socket异步编程之基于消息
- Android 添加删除应用快捷方式
- C++中的空类,默认产生哪些类成员函数?
- 第三章 单一职责原则
- Maven插件assembly配置
- VC++遍历指定目录下的所有文件