NewMadeleine

Documentation

« back to PM2 home.
nm_mpi_onesided.h
Go to the documentation of this file.
1/*
2 * NewMadeleine
3 * Copyright (C) 2015-2026 (see AUTHORS file)
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 */
15
16#ifndef NM_MPI_ONESIDED_H
17#define NM_MPI_ONESIDED_H
18
20/* @{ */
21
23/* @{ */
24
25int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info,
26 MPI_Comm comm, MPI_Win *win);
27
28int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info,
29 MPI_Comm comm, void *baseptr, MPI_Win *win);
30
32 MPI_Comm comm, void *baseptr, MPI_Win *win);
33
35 int *disp_unit, void *baseptr);
36
38
39int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size);
40
41int MPI_Win_detach(MPI_Win win, const void *base);
42
44
46
48
51 int*keyval,
52 void*extra_state);
53
54int MPI_Win_free_keyval(int*keyval);
55
56int MPI_Win_delete_attr(MPI_Win win, int keyval);
57
58int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used);
59
60int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val);
61
62int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag);
63
64int MPI_Win_set_name(MPI_Win win, const char*win_name);
65
66int MPI_Win_get_name(MPI_Win win, char*win_name, int*resultlen);
67
69
71
73
74int MPI_Win_call_errhandler(MPI_Win win, int errorcode);
75
76
77int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
78 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype,
79 MPI_Win win);
80
81int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
82 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype,
83 MPI_Win win);
84
85int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
86 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype,
87 MPI_Op op, MPI_Win win);
88
89
90int MPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
91 void *result_addr, int result_count, MPI_Datatype result_datatype,
92 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype,
93 MPI_Op op, MPI_Win win);
94
95int MPI_Fetch_and_op(const void *origin_addr, void *result_addr,
96 MPI_Datatype datatype, int target_rank, MPI_Aint target_disp,
97 MPI_Op op, MPI_Win win);
98
99int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr,
100 void *result_addr, MPI_Datatype datatype, int target_rank,
101 MPI_Aint target_disp, MPI_Win win);
102
103
104int MPI_Rput(const void *origin_addr, int origin_count,
105 MPI_Datatype origin_datatype, int target_rank,
106 MPI_Aint target_disp, int target_count,
107 MPI_Datatype target_datatype, MPI_Win win,
108 MPI_Request *request);
109
110int MPI_Rget(void *origin_addr, int origin_count,
111 MPI_Datatype origin_datatype, int target_rank,
112 MPI_Aint target_disp, int target_count,
113 MPI_Datatype target_datatype, MPI_Win win,
114 MPI_Request *request);
115
116int MPI_Raccumulate(const void *origin_addr, int origin_count,
117 MPI_Datatype origin_datatype, int target_rank,
118 MPI_Aint target_disp, int target_count,
119 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win,
120 MPI_Request *request);
121
122int MPI_Rget_accumulate(const void *origin_addr, int origin_count,
123 MPI_Datatype origin_datatype, void *result_addr,
124 int result_count, MPI_Datatype result_datatype,
125 int target_rank, MPI_Aint target_disp, int target_count,
126 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win,
127 MPI_Request *request);
128
129
130
132
134
136
138
140
141int MPI_Win_test(MPI_Win win, int *flag);
142
143int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win);
144
146
147int MPI_Win_unlock(int rank, MPI_Win win);
148
150
151int MPI_Win_flush(int rank, MPI_Win win);
152
154
155int MPI_Win_flush_local(int rank, MPI_Win win);
156
158
160
161
162/* @}*/
163/* @}*/
164
165#endif /* NM_MPI_ONESIDED_H */
assert(p_data->ops.p_traversal !=NULL)
int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win)
int MPI_Win_flush_all(MPI_Win win)
int MPI_Win_detach(MPI_Win win, const void *base)
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_unlock_all(MPI_Win win)
int MPI_Win_lock_all(int assert, MPI_Win win)
int MPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request)
int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win)
int MPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win)
int MPI_Win_flush_local(int rank, MPI_Win win)
int MPI_Win_unlock(int rank, MPI_Win win)
int MPI_Win_set_info(MPI_Win win, MPI_Info info)
int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used)
int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win)
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_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, MPI_Win *win)
int MPI_Win_free_keyval(int *keyval)
int MPI_Win_test(MPI_Win win, int *flag)
int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler)
int MPI_Win_create_errhandler(MPI_Win_errhandler_fn *function, MPI_Errhandler *errhandler)
int MPI_Rget(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, MPI_Request *request)
int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size)
int MPI_Win_flush_local_all(MPI_Win win)
int MPI_Win_set_name(MPI_Win win, const char *win_name)
int MPI_Win_complete(MPI_Win win)
int MPI_Win_get_group(MPI_Win win, MPI_Group *group)
int MPI_Win_flush(int rank, MPI_Win win)
int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, MPI_Win *win)
int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, MPI_Win win)
int MPI_Win_free(MPI_Win *win)
int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win)
int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val)
int MPI_Win_create_keyval(MPI_Win_copy_attr_function *copy_fn, MPI_Win_delete_attr_function *delete_fn, int *keyval, void *extra_state)
int MPI_Raccumulate(const 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, MPI_Request *request)
int MPI_Win_sync(MPI_Win win)
int MPI_Win_post(MPI_Group group, int assert, MPI_Win win)
int MPI_Win_call_errhandler(MPI_Win win, int errorcode)
int MPI_Put(const 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_Rput(const 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, MPI_Request *request)
int MPI_Accumulate(const 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_Win_delete_attr(MPI_Win win, int keyval)
int MPI_Win_wait(MPI_Win win)
int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr)
int MPI_Win_fence(int assert, MPI_Win win)
int MPI_Win_start(MPI_Group group, int assert, MPI_Win win)
int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen)
void * extra_state
int MPI_Op
Operator handle.
int MPI_Request
Request handle.
int MPI_Errhandler
int MPI_Group
Group handle.
nm_mpi_aint_t MPI_Aint
type that holds an address
int MPI_Comm
Communicator handle.
MPI_Win_errhandler_function MPI_Win_errhandler_fn
pre MPI-2.2 compatibility type
int MPI_Win
Window handle.
int() MPI_Win_delete_attr_function(MPI_Win win, int win_keyval, void *attribute_val, void *extra_state)
int MPI_Info
An info opaque object.
int() MPI_Win_copy_attr_function(MPI_Win oldwin, int win_keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)
int MPI_Datatype
Datatype handle.
nm_len_t size
size of the onsided data (not incuding target-side completion)