File: vtkparallel_vtkcommunicator.html

package info (click to toggle)
freemat 4.2%2Bdfsg1-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 141,800 kB
  • ctags: 14,082
  • sloc: ansic: 126,788; cpp: 62,046; python: 2,080; perl: 1,255; sh: 1,146; yacc: 1,019; lex: 239; makefile: 100
file content (224 lines) | stat: -rw-r--r-- 22,547 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>FreeMat: vtkCommunicator</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">FreeMat
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('vtkparallel_vtkcommunicator.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">vtkCommunicator </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>Section: <a class="el" href="sec_vtkparallel.html">Visualization Toolkit Parallel Classes</a> </p>
<h1><a class="anchor" id="Usage"></a>
Usage</h1>
<p>This is an abstact class which contains functionality for sending and receiving inter-process messages. It contains methods for marshaling an object into a string (currently used by the MPI communicator but not the shared memory communicator).</p>
<p>To create an instance of class vtkCommunicator, simply invoke its constructor as follows </p>
<pre class="fragment">  obj = vtkCommunicator
</pre> <h1><a class="anchor" id="Methods"></a>
Methods</h1>
<p>The class vtkCommunicator has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, <code>obj</code> is an instance of the vtkCommunicator class. </p>
<ul>
<li>
<code>string = obj.GetClassName ()</code>  </li>
<li>
<code>int = obj.IsA (string name)</code>  </li>
<li>
<code>vtkCommunicator = obj.NewInstance ()</code>  </li>
<li>
<code>vtkCommunicator = obj.SafeDownCast (vtkObject o)</code>  </li>
<li>
<code>obj.SetNumberOfProcesses (int num)</code> - Set the number of processes you will be using. This defaults to the maximum number available. If you set this to a value higher than the default, you will get an error.  </li>
<li>
<code>int = obj.GetNumberOfProcesses ()</code> - Set the number of processes you will be using. This defaults to the maximum number available. If you set this to a value higher than the default, you will get an error.  </li>
<li>
<code>int = obj.GetLocalProcessId ()</code> - Tells you which process [0, NumProcess) you are in.  </li>
<li>
<code>int = obj.Send (vtkDataObject data, int remoteHandle, int tag)</code> - This method sends a data object to a destination. Tag eliminates ambiguity and is used to match sends to receives.  </li>
<li>
<code>int = obj.Send (vtkDataArray data, int remoteHandle, int tag)</code> - This method sends a data array to a destination. Tag eliminates ambiguity and is used to match sends to receives.  </li>
<li>
<code>int = obj.Send (int data, vtkIdType length, int remoteHandle, int tag)</code> - Convenience methods for sending data arrays.  </li>
<li>
<code>int = obj.Send (int data, vtkIdType length, int remoteHandle, int tag)</code> - Convenience methods for sending data arrays.  </li>
<li>
<code>int = obj.Send (long data, vtkIdType length, int remoteHandle, int tag)</code> - Convenience methods for sending data arrays.  </li>
<li>
<code>int = obj.Send (string data, vtkIdType length, int remoteHandle, int tag)</code> - Convenience methods for sending data arrays.  </li>
<li>
<code>int = obj.Send (string data, vtkIdType length, int remoteHandle, int tag)</code> - Convenience methods for sending data arrays.  </li>
<li>
<code>int = obj.Send (float data, vtkIdType length, int remoteHandle, int tag)</code> - Convenience methods for sending data arrays.  </li>
<li>
<code>int = obj.Send (double data, vtkIdType length, int remoteHandle, int tag)</code> - Convenience methods for sending data arrays.  </li>
<li>
<code>int = obj.Receive (vtkDataObject data, int remoteHandle, int tag)</code> - This method receives a data object from a corresponding send. It blocks until the receive is finished.  </li>
<li>
<code>vtkDataObject = obj.ReceiveDataObject (int remoteHandle, int tag)</code> - The caller does not have to know the data type before this call is made. It returns the newly created object.  </li>
<li>
<code>int = obj.Receive (vtkDataArray data, int remoteHandle, int tag)</code> - This method receives a data array from a corresponding send. It blocks until the receive is finished.  </li>
<li>
<code>int = obj.Receive (int data, vtkIdType maxlength, int remoteHandle, int tag)</code> - Convenience methods for receiving data arrays.  </li>
<li>
<code>int = obj.Receive (int data, vtkIdType maxlength, int remoteHandle, int tag)</code> - Convenience methods for receiving data arrays.  </li>
<li>
<code>int = obj.Receive (long data, vtkIdType maxlength, int remoteHandle, int tag)</code> - Convenience methods for receiving data arrays.  </li>
<li>
<code>int = obj.Receive (string data, vtkIdType maxlength, int remoteHandle, int tag)</code> - Convenience methods for receiving data arrays.  </li>
<li>
<code>int = obj.Receive (string data, vtkIdType maxlength, int remoteHandle, int tag)</code> - Convenience methods for receiving data arrays.  </li>
<li>
<code>int = obj.Receive (float data, vtkIdType maxlength, int remoteHandle, int tag)</code> - Convenience methods for receiving data arrays.  </li>
<li>
<code>int = obj.Receive (double data, vtkIdType maxlength, int remoteHandle, int tag)</code> - Convenience methods for receiving data arrays.  </li>
<li>
<code>vtkIdType = obj.GetCount ()</code> - Returns the number of words received by the most recent Receive(). Note that this is not the number of bytes received, but the number of items of the data-type received by the most recent Receive() eg. if Receive(int*,..) was used, then this returns the number of ints received; if Receive(double*,..) was used, then this returns the number of doubles received etc. The return value is valid only after a successful Receive().  </li>
<li>
<code>obj.Barrier ()</code> - Will block the processes until all other processes reach the Barrier function.  </li>
<li>
<code>int = obj.Broadcast (int data, vtkIdType length, int srcProcessId)</code> - Broadcast sends the array in the process with id <code>srcProcessId</code> to all of the other processes. All processes must call these method with the same arguments in order for it to complete.  </li>
<li>
<code>int = obj.Broadcast (long data, vtkIdType length, int srcProcessId)</code> - Broadcast sends the array in the process with id <code>srcProcessId</code> to all of the other processes. All processes must call these method with the same arguments in order for it to complete.  </li>
<li>
<code>int = obj.Broadcast (string data, vtkIdType length, int srcProcessId)</code> - Broadcast sends the array in the process with id <code>srcProcessId</code> to all of the other processes. All processes must call these method with the same arguments in order for it to complete.  </li>
<li>
<code>int = obj.Broadcast (string data, vtkIdType length, int srcProcessId)</code> - Broadcast sends the array in the process with id <code>srcProcessId</code> to all of the other processes. All processes must call these method with the same arguments in order for it to complete.  </li>
<li>
<code>int = obj.Broadcast (float data, vtkIdType length, int srcProcessId)</code> - Broadcast sends the array in the process with id <code>srcProcessId</code> to all of the other processes. All processes must call these method with the same arguments in order for it to complete.  </li>
<li>
<code>int = obj.Broadcast (double data, vtkIdType length, int srcProcessId)</code> - Broadcast sends the array in the process with id <code>srcProcessId</code> to all of the other processes. All processes must call these method with the same arguments in order for it to complete.  </li>
<li>
<code>int = obj.Broadcast (vtkDataObject data, int srcProcessId)</code> - Broadcast sends the array in the process with id <code>srcProcessId</code> to all of the other processes. All processes must call these method with the same arguments in order for it to complete.  </li>
<li>
<code>int = obj.Broadcast (vtkDataArray data, int srcProcessId)</code> - Broadcast sends the array in the process with id <code>srcProcessId</code> to all of the other processes. All processes must call these method with the same arguments in order for it to complete.  </li>
<li>
<code>int = obj.Gather (int sendBuffer, int recvBuffer, vtkIdType length, int destProcessId)</code> - Gather collects arrays in the process with id <code>destProcessId</code>. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The <code>length</code> argument (which must be the same on all processes) is the length of the sendBuffers. The <code>recvBuffer</code> (on te destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.  </li>
<li>
<code>int = obj.Gather (long sendBuffer, long recvBuffer, vtkIdType length, int destProcessId)</code> - Gather collects arrays in the process with id <code>destProcessId</code>. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The <code>length</code> argument (which must be the same on all processes) is the length of the sendBuffers. The <code>recvBuffer</code> (on te destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.  </li>
<li>
<code>int = obj.Gather (string sendBuffer, string recvBuffer, vtkIdType length, int destProcessId)</code> - Gather collects arrays in the process with id <code>destProcessId</code>. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The <code>length</code> argument (which must be the same on all processes) is the length of the sendBuffers. The <code>recvBuffer</code> (on te destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.  </li>
<li>
<code>int = obj.Gather (string sendBuffer, string recvBuffer, vtkIdType length, int destProcessId)</code> - Gather collects arrays in the process with id <code>destProcessId</code>. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The <code>length</code> argument (which must be the same on all processes) is the length of the sendBuffers. The <code>recvBuffer</code> (on te destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.  </li>
<li>
<code>int = obj.Gather (float sendBuffer, float recvBuffer, vtkIdType length, int destProcessId)</code> - Gather collects arrays in the process with id <code>destProcessId</code>. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The <code>length</code> argument (which must be the same on all processes) is the length of the sendBuffers. The <code>recvBuffer</code> (on te destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.  </li>
<li>
<code>int = obj.Gather (double sendBuffer, double recvBuffer, vtkIdType length, int destProcessId)</code> - Gather collects arrays in the process with id <code>destProcessId</code>. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The <code>length</code> argument (which must be the same on all processes) is the length of the sendBuffers. The <code>recvBuffer</code> (on te destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.  </li>
<li>
<code>int = obj.Gather (vtkDataArray sendBuffer, vtkDataArray recvBuffer, int destProcessId)</code> - Gather collects arrays in the process with id <code>destProcessId</code>. Each process (including the destination) sends the contents of its send buffer to the destination process. The destination process receives the messages and stores them in rank order. The <code>length</code> argument (which must be the same on all processes) is the length of the sendBuffers. The <code>recvBuffer</code> (on te destination process) must be of length length*numProcesses. Gather is the inverse operation of Scatter.  </li>
<li>
<code>int = obj.Scatter (int sendBuffer, int recvBuffer, vtkIdType length, int srcProcessId)</code> - Scatter takes an array in the process with id <code>srcProcessId</code> and distributes it. Each process (including the source) receives a portion of the send buffer. Process 0 receives the first <code>length</code> values, process 1 receives the second <code>length</code> values, and so on. Scatter is the inverse operation of Gather.  </li>
<li>
<code>int = obj.Scatter (long sendBuffer, long recvBuffer, vtkIdType length, int srcProcessId)</code> - Scatter takes an array in the process with id <code>srcProcessId</code> and distributes it. Each process (including the source) receives a portion of the send buffer. Process 0 receives the first <code>length</code> values, process 1 receives the second <code>length</code> values, and so on. Scatter is the inverse operation of Gather.  </li>
<li>
<code>int = obj.Scatter (string sendBuffer, string recvBuffer, vtkIdType length, int srcProcessId)</code> - Scatter takes an array in the process with id <code>srcProcessId</code> and distributes it. Each process (including the source) receives a portion of the send buffer. Process 0 receives the first <code>length</code> values, process 1 receives the second <code>length</code> values, and so on. Scatter is the inverse operation of Gather.  </li>
<li>
<code>int = obj.Scatter (string sendBuffer, string recvBuffer, vtkIdType length, int srcProcessId)</code> - Scatter takes an array in the process with id <code>srcProcessId</code> and distributes it. Each process (including the source) receives a portion of the send buffer. Process 0 receives the first <code>length</code> values, process 1 receives the second <code>length</code> values, and so on. Scatter is the inverse operation of Gather.  </li>
<li>
<code>int = obj.Scatter (float sendBuffer, float recvBuffer, vtkIdType length, int srcProcessId)</code> - Scatter takes an array in the process with id <code>srcProcessId</code> and distributes it. Each process (including the source) receives a portion of the send buffer. Process 0 receives the first <code>length</code> values, process 1 receives the second <code>length</code> values, and so on. Scatter is the inverse operation of Gather.  </li>
<li>
<code>int = obj.Scatter (double sendBuffer, double recvBuffer, vtkIdType length, int srcProcessId)</code> - Scatter takes an array in the process with id <code>srcProcessId</code> and distributes it. Each process (including the source) receives a portion of the send buffer. Process 0 receives the first <code>length</code> values, process 1 receives the second <code>length</code> values, and so on. Scatter is the inverse operation of Gather.  </li>
<li>
<code>int = obj.Scatter (vtkDataArray sendBuffer, vtkDataArray recvBuffer, int srcProcessId)</code> - Scatter takes an array in the process with id <code>srcProcessId</code> and distributes it. Each process (including the source) receives a portion of the send buffer. Process 0 receives the first <code>length</code> values, process 1 receives the second <code>length</code> values, and so on. Scatter is the inverse operation of Gather.  </li>
<li>
<code>int = obj.AllGather (int sendBuffer, int recvBuffer, vtkIdType length)</code> - Same as gather except that the result ends up on all processes.  </li>
<li>
<code>int = obj.AllGather (long sendBuffer, long recvBuffer, vtkIdType length)</code> - Same as gather except that the result ends up on all processes.  </li>
<li>
<code>int = obj.AllGather (string sendBuffer, string recvBuffer, vtkIdType length)</code> - Same as gather except that the result ends up on all processes.  </li>
<li>
<code>int = obj.AllGather (string sendBuffer, string recvBuffer, vtkIdType length)</code> - Same as gather except that the result ends up on all processes.  </li>
<li>
<code>int = obj.AllGather (float sendBuffer, float recvBuffer, vtkIdType length)</code> - Same as gather except that the result ends up on all processes.  </li>
<li>
<code>int = obj.AllGather (double sendBuffer, double recvBuffer, vtkIdType length)</code> - Same as gather except that the result ends up on all processes.  </li>
<li>
<code>int = obj.AllGather (vtkDataArray sendBuffer, vtkDataArray recvBuffer)</code> - Same as gather except that the result ends up on all processes.  </li>
<li>
<code>int = obj.Reduce (int sendBuffer, int recvBuffer, vtkIdType length, int operation, int destProcessId)</code> - Reduce an array to the given destination process. This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.  </li>
<li>
<code>int = obj.Reduce (long sendBuffer, long recvBuffer, vtkIdType length, int operation, int destProcessId)</code> - Reduce an array to the given destination process. This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.  </li>
<li>
<code>int = obj.Reduce (string sendBuffer, string recvBuffer, vtkIdType length, int operation, int destProcessId)</code> - Reduce an array to the given destination process. This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.  </li>
<li>
<code>int = obj.Reduce (string sendBuffer, string recvBuffer, vtkIdType length, int operation, int destProcessId)</code> - Reduce an array to the given destination process. This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.  </li>
<li>
<code>int = obj.Reduce (float sendBuffer, float recvBuffer, vtkIdType length, int operation, int destProcessId)</code> - Reduce an array to the given destination process. This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.  </li>
<li>
<code>int = obj.Reduce (double sendBuffer, double recvBuffer, vtkIdType length, int operation, int destProcessId)</code> - Reduce an array to the given destination process. This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.  </li>
<li>
<code>int = obj.Reduce (vtkDataArray sendBuffer, vtkDataArray recvBuffer, int operation, int destProcessId)</code> - Reduce an array to the given destination process. This version of Reduce takes an identifier defined in the vtkCommunicator::StandardOperations enum to define the operation.  </li>
<li>
<code>int = obj.AllReduce (int sendBuffer, int recvBuffer, vtkIdType length, int operation)</code> - Same as Reduce except that the result is placed in all of the processes.  </li>
<li>
<code>int = obj.AllReduce (long sendBuffer, long recvBuffer, vtkIdType length, int operation)</code> - Same as Reduce except that the result is placed in all of the processes.  </li>
<li>
<code>int = obj.AllReduce (string sendBuffer, string recvBuffer, vtkIdType length, int operation)</code> - Same as Reduce except that the result is placed in all of the processes.  </li>
<li>
<code>int = obj.AllReduce (string sendBuffer, string recvBuffer, vtkIdType length, int operation)</code> - Same as Reduce except that the result is placed in all of the processes.  </li>
<li>
<code>int = obj.AllReduce (float sendBuffer, float recvBuffer, vtkIdType length, int operation)</code> - Same as Reduce except that the result is placed in all of the processes.  </li>
<li>
<code>int = obj.AllReduce (double sendBuffer, double recvBuffer, vtkIdType length, int operation)</code> - Same as Reduce except that the result is placed in all of the processes.  </li>
<li>
<code>int = obj.AllReduce (vtkDataArray sendBuffer, vtkDataArray recvBuffer, int operation)</code> - Same as Reduce except that the result is placed in all of the processes.  </li>
</ul>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="index.html">FreeMat Documentation</a></li><li class="navelem"><a class="el" href="sec_vtkparallel.html">Visualization Toolkit Parallel Classes</a></li>
    <li class="footer">Generated on Thu Jul 25 2013 17:18:34 for FreeMat by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1.1 </li>
  </ul>
</div>
</body>
</html>