MPI2—C语言接口速查

主要为6个接口:

MPI_Init(&argc, &argv);//其中&argc, &argv为参数,完成MPI程序的初始化工作
MPI_Finalize();//程序结束标识,结束MPI程序的运行,也是MPI程序的最后一条可执行语句
MPI_Comm_rank(MPI_COMM_WORLD, &rank);//对于当前进程进程号,用于与其他的进程进行区分
MPI_Comm_size(MPI_COMM_WORLD, &size);//进程的个数
MPI_Send(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)//将发送缓冲区中的count个datatype数据类型的数据发送到目的进程,目的进程在通信域中的标志号是dest,本次发送的消息标志是tag
MPI_Recv(void* buf, int count, MPI_Datatype datatype, int source, int tag,MPI_Comm comm, MPI_Status *status)//MPI_RECV是从指定的进程source结合搜消息,并且该消息的数据类型和消息标识好本接收进程指定的datatype和tag相一致,接收到的消息所包含的数据元素的个数最多不超过count

MPI2中所欲的C语言接口:

int MPI_Accumulate(void * origin_addr, int origin_count, MPI_Datatype origin_datatype, int
target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op
op, MPI_Win win)
用指定的操作累计目标进程窗口中的数据
int MPI_Add_error_class(int * errorclass)
创建一个新的出错处理类并返回它的值
int MPI_Add_error_code(int errorclass, int * error)
创建一个与错误处理类相联系的错误处理代码并返回它的值
int MPI_Add_error_string(int errorcode, char * string)
将一个出错提示串与错误处理类或错误代码建立联系
int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void * baseptr)
分配一块内存用于远程存储访问和消息传递操作
int MPI_Alltoallw(void * sendbuf, int sendcounts[], int sdispls[], MPI_Datatype sendtypes[], void
* recvbuf, int recvcounts[], int rdispls[], MPI_Datatype recvtypes[], MPI_Comm comm)
所有进程之间的数据交换其数量偏移和数据类型可以互不相同
int MPI_Close_port(char * port_name)
关闭指定的端口
int MPI_Comm_accept(char * port_name, MPI_Info info, int root, MPI_Comm comm,
MPI_Comm * newcomm)
接受请求和客户端建立联系
MPI_Fint MPI_Comm_c2f(MPI_Comm comm)
C通信域句柄转换为Fortran通信域句柄
int MPI_Comm_call_errhandler(MPI_Comm comm, int error)
激活与指定通信域相联系的错误处理程序
int MPI_Comm_connect(char * portname, MPI_Info info, int root, MPI_Comm comm,
MPI_Comm * newcomm)
请求和服务端建立联系
int MPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function, MPI_Errhandler
*errhandler)
创建一个能附加到通信域的错误处理程序
int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn,
MPI_Comm_delete_attr_function *comm_delete_attr_fn, int *comm_keyval, void
*extra_state)
建一个能在通信域之上缓存的新属性
int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval)
删除建立在通信域之上的缓存属性
int MPI_Comm_disconnect(MPI_Comm *comm)
等待所有在通信域之中排队的通信完成断开与服务端的联系并释放通信域
MPI_Comm MPI_Comm_f2c(MPI_Fint comm)
把一个Fortran通信域句柄转换成C通信域句柄
int MPI_Comm_free_keyval(int *comm_keyval)
释放用MPI_Comm_create_keyval创建的属性
int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void attribute_val, int *flag)
返回与一个通信域缓存的属性对应的值
int MPI_Comm_get_errhandler(MPI_comm comm, MPI_Errhandler *errhandler)
返回当前与一个通信域对应的错误处理程序
int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen)
返回与一个通信域对应的名字
int MPI_Comm_get_parent(MPI_Comm *parent)
返回一个既包括子进程又包括父进程的组间通信域
int MPI_Comm_join(int fd, MPI_Comm *intercom)
将通过套接字连接的MPI进程形成一个组间通信域返回
int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val)
设置通信域缓存的属性的值
int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler)
把出错处理程序附加到通信域
int MPI_Comm_set_name(MPI_Comm comm, char *comm_name)
把名字对应到通信域
int MPI_Comm_spawn(char *command, char *argv[], int maxprocs, MPI_Info info, int root,
MPI_Comm comm, MPI_Comm *intercom, int array_of_errcodes[])
产生子进程运行MPI程序
int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], Char **array_of_argv[],
int array_of_maxprocs[], MPI_Info array_of_info[], int root, MPI_Comm comm,
MPI_Comm *intercom, int array_of_errcodes[])
产生子进程运行不同MPI程序
int MPI_Exscan(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op,
MPI_Comm comm)
同MPI_Scan 只不过归约操作的对象不包括自身
MPI_Fint MPI_File_c2f(MPI_File file)
把C文件句柄转换成Fortran文件句柄
int MPI_File_call_errhandler(MPI_File fh, int error)
激活与一个文件对应的出错处理程序
int MPI_File_close(MPI_File *fh)
关闭一个文件
int MPI_File_create_errhanlder(MPI_File_errhandler_fn *function, MPI_Errhandler *errhandler)
创建能附加到文件的出错处理程序
int MPI_File_delete(char *filename, MPI_Info info)
删除一个文件
MPI_File MPI_File_f2c(MPI_Fint file)
把Fortran文件句柄转换成C文件句柄
int MPI_File_get_amode(MPI_File fh, int *amode)
返回文件的访问模式
int MPI_File_get_atomicity(MPI_File fh, int *flag)
得到文件句柄fh对应文件的访问模式信息结果放在flag中
int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset *disp)
把一个相对视口的文件偏移转换成绝对字节偏移
int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler)
返回与文对应的出错处理程序
int MPI_File_get_group(MPI_file fh, MPI_Group *group)
返回用来打开文件的通信域组的副本
int MPI_File_get_info(MPI_File fh, MPI_Info *info_used)
返回与文件相联系的INFO对象的值
int MPI_File_get_position(MPI_File fh, MPI_Offset *offset)
返回非共享文件指针的当前位置
int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset)
返回共享文件指针的当前位置
int MPI_File_get_size(MPI_File fh, MPI_Offset *size)
返回共享文件的大小
int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint *extent)
返回文件中数据类型的跨度
int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype
*filetype, char *datarep)
返回当前文件视口
int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request
*request)
在非共享文件指针的当前位置开始非阻塞读文件
int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype
datatype, MPI_Request *request)
在指定的偏移开始非阻塞读文件
int MPI_File_iread_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype,
MPI_Request *request)
在共享文件指针的当前位置开始非阻塞读文件
int MPI_File_iwrite(MPI_File fh, void *buf, int count, MPI_Datatype, MPI_Request *request)
在非共享文件指针的当前位置开始非阻塞写文件
int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype
datatype, MPI_Request *request)
在指定的偏移开始非阻塞写文件
int MPI_File_iwrite_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype,
MPI_Request *request)
在共享文件指针的当前位置开始非阻塞写文件
int MPI_File_open(MPI_Comm comm, char *filename, int amode, MPI_Info info, MPI_File *fh)
打开一个文件
int MPI_File_preallocate(MPI_File fh, MPI_Offset size)
为一个文件预分配磁盘空间
int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
在非共享文件指针的当前位置处读数据
int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status
*status)
非共享文件的组读取如同进程组内的所有进程都执行了一个MPI_FILE_READ调用
一样
int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
用二步法开始一个非共享文件的组读取
int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status)
用二步法完成一个非共享文件的组读取
int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype
datatype, MPI_Status *status)
从指定文件偏移处读数据
int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype
datatype, MPI_Status *status)
从指定位置开始读取的组调用其效果就如同每个进程都执行了一个相应的
MPI_FILE_READ_AT 操作
int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, Void *buf, int count,
MPI_Datatype datatype)
用二步法开始一个从指定位置读取的组调用
int MPI_file_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status)
用二步法完成一个从指定位置读取的组调用
int MPI_File_read_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status
*status)
用共享文件指针进行组读取就如同每一个进程组内的进程依次执行了一个
MPI_FILE_READ_SHARED调用
int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_datatype datatype)
用二步法开始一个共享文件的组读取
int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_status *status)
用二步法完成一个共享文件的组读取
int MPI_File_read_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status
*status)
从共享文件指针的当前位置开始读数据
int MPI_file_seek(MPI_File fh, MPI_Offset offset, int whence)
移动非共享文件指针
int MPI_file_seek_shared(MPI_File fh, MPI_Offset offset, int whence)
移动共享文件指针
int MPI_File_set_atomicity(MPI_File fh, int flag)
组调用设置文件的访问模式
int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler)
把一个新的出错处理程序附加到文件上
int MPI_File_set_info(MPI_File fh, MPI_Info info)
设置与一个文件对应的INFO对象的值
int MPI_File_set_size(MPI_File fh, MPI_Offset size)
设置文件长度
int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPOI_Datatype etype, MPI_Datatype
filetype, char *datarep, MPI_info info)
设置文件视口
int MPI_File_sync(MPI_File fh)
将缓冲文件数据与存储设备的数据进行同步
int MPI_File_write(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
在非共享文件指针的当前位置处写入数据
int MPI_File_write_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status
*status)
对非共享文件执行组写入其效果就如同每一个进程都执行了一个MPI_File_write调用
int MPI_File_write_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
用二步法开始一个非共享文件的组写入
int MPI_File_write_all_end(MPI_file fh, void *buf, MPI_Status *status)
用二步法完成一个非共享文件的组写入
int MPI_File_write_at(MPI_file fh, MPI_Offset offset, void *buf, int count, MPI_Datatype
datatype, MPI_Status *status)
在指定的文件偏移处写数据
int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype
datatype, MPI_Status *status)
在各自的指定偏移处开始执行文件的组写入
int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, Void *buf, int count,
MPI_Datatype datatype)
用二步法开始一个指定位置的组写入
int MPI_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status)
用二步法完成一个指定位置的组写入
int MPI_File_write_ordered(MPI_file fh, void *buf, int count, MPI_Datatype datatype, MPI_Status
*status)
对共享文件进行组写入其效果就如同每一个进程都按序依次执行了一个
MPI_File_write_shared调用
int MPI_File_write_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
用二步法开始一个共享文件的组写入
int MPI_File_write_ordered_end(MPI_File fh, viod *buf, MPI_Status *status)
用二步法完成一个共享文件的组写入
int MPI_File_write_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status
*status)
在共享文件指针的当前位置处写入数据
int MPI_Finalized(int *flag)
检查MPI_Finalize是否完成
int MPI_Free_mem(void *base)
释放以MPI_Alloc_mem申请的内存
int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win)
从指定进程的窗口取数据
int MPI_Get_address(void *location, MPI_Aint *address)
返回内存位置的地址
int MPI_Grequest_complete(MPI_Request request)
通知MPI给定对象上的操作已经结束
int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function
*free_fn, MPI_Grequest_cancel_function *cancel_fn, void *extra_state, MPI_Request
*request)
开始一个通用的非阻塞操作并返回与该操作相联系的对象
MPI_Fint MPI_Group_c2f(MPI_Group group)
把C进程组句柄转换为Fortran进程组句柄
MPI_Group MPI_Group_f2c(MPI_Fint group)
把Fortran进程组组句柄转换为C进程组句柄
MPI_Fint MPI_Info_c2f(MPI_Info info)
把C信息句柄转换为Fortran信息句柄
int MPI_Info_create(MPI_Info *info)
创建一个新的INFO对象
int MPI_Info_delete(MPI_Info info, char *key)
从INFO对象中删除<关键字值>元组
int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo)
返回INFO对象的副本
MPI_Info MPI_Info_f2c(MPI_Fint info)
把Fortran INFO对象句柄转换为C INFO对象句柄
int MPI_Info_free(MPI_Info *info)
释放INFO对象
int MPI_Info_get(MPI_Info info, char *key, int valuelen, char *value, int *flag)
返回与信息关键字对应的值
int MPI_Info_get_nkeys(MPI_Info info, int *nkeys)
返回INFO对象当前定义的关键字的数量
int MPI_Info_get_nthkey(MPI_Info info, int n, char *key)
返回INFO对象定义的第n个关键字
int MPI_Info_get_valuelen(MPI_Info info, char *key, int *valuelen, int *flag)
返回与一个信息关键字对应的值的长度
int MPI_Info_set(MPI_Info info, char *key, char *value)
往INFO对象中加入<关键字,>元组
int MPI_Init_thread(int *argc, char *((*argv)[]), int required, int *provided)
初始化MPI和MPI线程环境
int MPI_Is_thread_main(int *flag)
表明调用本函数的线程是否是主线程
int MPI_Lookup_name(char *service_name, MPI_Info info, Char *prot_name)
返回与服务名对应的端口名
MPI_Fint MPI_Op_c2f(MPI_Op op)
把C操作句柄转换为Fortran句柄
MPI_Op MPI_Op_f2c(MPI_Fint op)
把Fortran句柄转换为C操作句柄
int MPI_Open_port(MPI_Info info, char *port_name)
建立一个网络地址以使服务器能够接收客户的连接请求
int MPI_Pack_external(char *datarep, void *inbuf, int incount, MPI_Datatype datatype, void
*outbuf, MPI_Aint outsize, MPI_Aint *position)
以指定的数据格式进行打包
int MPI_Pack_external_size(char *datarep, int incount, MPI_Datatype datatype, MPI_Aint *size)
返回以指定的数据格式数据打包需要的空间的大小
int MPI_Publish_name(char *service_name, MPI_Info info, Char *port_name)
将一个服务名和端口名建立联系并将该服务名公之与众
int MPI_Put(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank,
MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win)
向指定进程的窗口写入数据
int MPI_Query_thread(int *provided)
返回支持线程的级别
int MPI_Register_datarep(char *datarep, MPI_Datarep_conversion_function *read_conversion_fn,
MPI_Datarep_conversion_function *write_conversion_fn, MPI_Datarep_extent_function
*dtype_file_extent_fn, Void *extra_state)
加入新的文件数据表示到MPI
MPI_Fint MPI_Request_c2f(MPI_Request request)
把C请求句柄转换成Fortran请求句柄
MPI_Request MPI_Request_f2c(MPI_Fint request)
把Fortran请求句柄转换成C请求句柄
int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status)
测试非阻塞操作的完成情况如完成不释放请求对象
int MPI_Status_c2f(MPI_Status *c_status, MPI_Fint *f_status)
把C状态对象转换成Fortran状态对象
int MPI_Status_f2c(MPI_Fint *f_status, MPI_Status *c_status)
把Fortran状态对象转换成C状态对象
int MPI_Status_set_cancelled(MPI_Status *status, int flag)
设置MPI_Test_cancelled将要返回的值
int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count)
设置MPI_Get_elements将要返回的值
MPI_Fint MPI_Type_c2f(MPI_Datatype datatype)
将C数据类型句柄转换成Fortran数据类型句柄
int MPI_Type_create_darray(int size, int rank, int ndims, int array_of_gsizes[], int
array_of_distribs[], int array_of_dargs[], int array_of_psizes[], int order, MPI_Datatype
oldtype, MPI_Datatype *newtype)
创建一个分布数组数据类型
int MPI_type_create_f90_complex(int p, int r, MPI_Datatype *newtype)
返回一个预定义的MPI数据类型它与Fortran 90复数变量的指定精度和十进制指数范
围一致
int MPI_Type_create_f90_integer(int r, MPI_Datatype *newtype)
返回一个预定义的MPI数据类型它与Fortran 90整数变量的十进制数字的指定个数一
致
int MPI_type_create_f90_real(int p, int r, MPI_Datatype *newtype)
返回一个预定义的MPI数据类型它与Fortran 90实数变量的指定精度和十进制指数范围一致
int MPI_Type_create_hindexed(int count, int array_of_blocklengths[], MPI_Ainyt
array_of_displacements[], MPI_Datatype oldtype, MPI_Datatype *newtype)
创建带字节偏移的索引数据类型
int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype,
MPI_Datatype *newtype)
通过以字节为单位的间距创建向量数据类型
int MPI_Type_create_indexed_block(int count, int blocklength, int array_of_displacements[],
MPI_Datatype oldtype, MPI_Datatype *newtype)
创建固定块长的索引数据类型
int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn,
MPI_Type_delete_attr_function *type_delete_attr_fn, int *type_keyval, void *extra_state)
创建一个能在数据类型上缓冲的新属性关键字
int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent,
MPI_Datatype *newtype)
返回一个指定下限和范围的新数据类型
int MPI_Type_create_struct(int count, int array_of_blocklengths[], MPI_Aint
array_of_displacements[], MPI_Datatype array_of_types[], MPI_Datatype *newtype)
创建结构数据类型
int MPI_type_create_subarray(int ndims, int array_of_sizes[], int array_of_subsizes[], int
array_of_starts[], int order, MPI_Datatype oldtype, MPI_Datatype *newtype)
创建子数组数据类型
int MPI_type_delete_attr(MPI_Datatype type, int type_keyval)
删除数据类型上缓冲的属性关键字
int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype)
返回数据类型的副本
MPI_datatype MPI_Type_f2c(MPI_Fint datatype)
把Fortran数据类型句柄转换成C数据类型句柄
int MPI_Type_free_keyval(int *type_keyval)
释放用MPI_Type_create_keyval创建的属性关键字
int MPI_Type_get_attr(MPI_Datatype type, int type_keyval, Void *attribute_val, int *flag)
返回与一个数据类型上缓冲的属性关键字对应的值
int MPI_type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, int
max_datatypes, int array_of_integers[], MPI_Aint array_of_addresses[], MPI_Datatype
array_of_datatypes[])
返回用来创建派生数据类型的参数的值
int MPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, int
*num_datatypes, int *combiner)
返回数据类型的类型和用来创建数据类型的参数的数量和类型
int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent)
返回数据类型的下限和范围
int MPI_Type_get_name(MPI(_Datatype type, char *type_name, int *resultlen)
返回与数据类型对应的名称
int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint
*true_extent)
返回数据类型的真实范围
int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type)
返回与指定类型和大小的局部变量匹配的MPI数据类型
int MPI_Type_set_attr(MPI_Datatype type, int type_keyval, void *attribute_val)
设置在一个数据类型上缓冲的属性关键字的值
int MPI_Type_set_name(MPI_Datatype type, char *type_name)
把名字和数据类型相关联
int MPI_Unpack_external(char *datarep, void *inbuf, MPI_Aint insize, MPI_Aint *position, void
*outbuf, int outocunt, MPI_Datatype datatype)
以指定的格式将数据解包
int MPI_Unpublish_name(char *service_name, MPI_Info info, Char *port_name)
取消一个以前发布的服务名
MPI_Fint MPI_Win_c2f(MPI_Win win)
把C窗口对象句柄转换为Fortran窗口对象句柄
int MPI_Win_call_errhandler(MPI_Win win, int error)
激活与窗口对象对应的错误处理程序
int MPI_Win_complete(MPI_Win win)
完成从MPI_Win_start开始的RMA访问
int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm,
MPI_Win *win)
创建新窗口对象
int MPI_Win_create_errhandler(MPI_Win_errhandler_fn *function, MPI_Errhandler *errhandler)
创建对附加到窗口对象上的错误处理程序
int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn,
MPI_Win_delete_attr_function *win_delete_attr_fn, int *win_keyval, void *extra_state)
创建能在窗口对象上缓冲的新属性关键字
int MPI_Win_delete_attr(MPI_Win win, int win_keyval)
删除在窗口对象上缓冲的属性关键字
MPI_Win MPI_Win_f2c(MPI_Fint win)
把Fortran窗口对象句柄转换成C窗口对象句柄
int MPI_Win_fence(int assert, MPI_Win win)
同步窗口对象上的RMA操作
int MPI_Win_free(MPI_Win *win)
释放窗口对象
int MPI_Win_free_keyval(int *win_keyval)
释放用MPI_Win_create_keyval创建的属性关键字
int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag)
返回与窗口对象上缓冲的属性关键字对应的值
int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler)
返回与窗口对象对应的出错处理程序
int MPI_Win_get_group(MPI_Win win, MPI_Group *group)
返回用来创建窗口对象的通信域组的副本
int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen)
返回与窗口对象对应的名称
int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win)
对指定进程的窗口加锁
int MPI_Win_post(MPI_Group group, int assert, MPI_Win win)
开始允许其它窗口的远程访问
int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val)
设置窗口对象缓冲的属性关键字的值
int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler)
把一个新的错误处理程序附加到窗口对象上
int MPI_Win_set_name(MPI_Win win, char *win_name)
将名称与窗口对象关联
int MPI_Win_start(MPI_Group group, int assert, MPI_Win win)
准备访问其它的窗口实现与MPI_Win_post的握手
int MPI_Win_test(MPI_Win win, int *flag)
测试窗口对象之上的RMA操作是否完成
int MPI_Win_unlock(int rank, MPI_Win win)
对给定的窗口开锁
int MPI_Win_wait(MPI_Win win)
完成用MPI_Win_post启动的RMA访问

读书笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值