@@ -23,8 +23,11 @@ def MPI_InitOp : MPI_Op<"init", [
23
23
]> {
24
24
let summary = "Initialize the MPI library, equivalent to `MPI_Init(NULL, NULL)`";
25
25
let description = [{
26
+ This operation must preceed most MPI calls (except for very few exceptions,
27
+ please consult with the MPI specification on these).
28
+
26
29
Passing &argc, &argv is not supported currently.
27
- Inspecting the return value (error code) is also not supported.
30
+ Inspecting the functions return value (error code) is also not supported.
28
31
}];
29
32
30
33
let assemblyFormat = "attr-dict";
@@ -40,7 +43,7 @@ def MPI_CommRankOp : MPI_Op<"comm_rank", [
40
43
let summary = "Get the current rank, equivalent to `MPI_Comm_rank(MPI_COMM_WORLD, &rank)`";
41
44
let description = [{
42
45
Communicators other than `MPI_COMM_WORLD` are not supprted for now.
43
- Inspecting the return value (error code) is also not supported.
46
+ Inspecting the functions return value (error code) is also not supported.
44
47
}];
45
48
46
49
let results = (outs
@@ -60,8 +63,12 @@ def MPI_SendOp : MPI_Op<"send", [
60
63
]> {
61
64
let summary = "Equivalent to `MPI_Send(ptr, size, dtype, dest, tag, MPI_COMM_WORLD)`";
62
65
let description = [{
66
+ MPI_Send performs a blocking send of `size` elements of type `dtype` to rank `dest`.
67
+ The `tag` value and communicator enables the library to determine the matching of
68
+ multiple sends and receives between the same ranks.
69
+
63
70
Communicators other than `MPI_COMM_WORLD` are not supprted for now.
64
- Inspecting the return value (error code) is also not supported.
71
+ Inspecting the functions return value (error code) is also not supported.
65
72
}];
66
73
67
74
let arguments = (ins
@@ -82,9 +89,13 @@ def MPI_RecvOp : MPI_Op<"recv", [
82
89
]> {
83
90
let summary = "Equivalent to `MPI_Recv(ptr, size, dtype, dest, tag, MPI_COMM_WORLD, MPI_STATUS_IGNORE)`";
84
91
let description = [{
92
+ MPI_Recv performs a blocking receive of `size` elements of type `dtype` from rank `dest`.
93
+ The `tag` value and communicator enables the library to determine the matching of
94
+ multiple sends and receives between the same ranks.
95
+
85
96
Communicators other than `MPI_COMM_WORLD` are not supprted for now.
86
97
The MPI_Status is set to `MPI_STATUS_IGNORE`, as the status object is not yet ported to MLIR.
87
- Inspecting the return value (error code) is also not supported.
98
+ Inspecting the functions return value (error code) is also not supported.
88
99
}];
89
100
90
101
let arguments = (ins
@@ -105,7 +116,11 @@ def MPI_FinalizeOp : MPI_Op<"finalize", [
105
116
]> {
106
117
let summary = "Finalize the MPI library, equivalent to `MPI_Finalize()`";
107
118
let description = [{
108
- Inspecting the return value (error code) is not supported.
119
+ This function cleans up the MPI state. Afterwards, no MPI methods may be invoked
120
+ (excpet for MPI_Get_version, MPI_Initialized, and MPI_Finalized).
121
+ Notably, MPI_Init cannot be called again in the same program.
122
+
123
+ Inspecting the functions return value (error code) is not supported.
109
124
}];
110
125
111
126
let assemblyFormat = "attr-dict";
0 commit comments