1 | MP version 1.1.2: Multi Protocol |
---|
2 | Kent State University, Kent, OH |
---|
3 | Authors: S. Gray, N. Kajler, P. Wang |
---|
4 | (C) 1993, 1994, 1995, 1996, 1997 All Rights Reserved |
---|
5 | |
---|
6 | NOTICE |
---|
7 | |
---|
8 | Permission to use, copy, modify, and distribute this software and |
---|
9 | its documentation for non-commercial purposes and without fee is |
---|
10 | hereby granted provided that the above copyright notice appear in all |
---|
11 | copies and that both the copyright notice and this permission notice |
---|
12 | appear in supporting documentation. |
---|
13 | |
---|
14 | Neither Kent State University nor the Authors make any representations |
---|
15 | about the suitability of this software for any purpose. This software |
---|
16 | is provided ``as is'' without express or implied warranty. |
---|
17 | |
---|
18 | MP 1.1.2 is available through public FTP at ftp.mcs.kent.edu in the |
---|
19 | directory /dist/MP/MP-1.1.2.tar.gz. New MP developments and releases |
---|
20 | are announced from time to time on SymbolicNet : |
---|
21 | |
---|
22 | http://SymbolicNet.mcs.kent.edu/areas/protocols/mp.html |
---|
23 | |
---|
24 | |
---|
25 | What is the Multi Protocol? |
---|
26 | -------------------------- |
---|
27 | |
---|
28 | The Multi Protocol (MP) is designed for exploring issues in |
---|
29 | integrating symbolic, numeric, graphics, document processing, and |
---|
30 | other software tools for scientific computation within different |
---|
31 | computing paradigms (e.g., point to point, distributed, parallel, |
---|
32 | software bus). |
---|
33 | |
---|
34 | All data is transmitted in the form of linearized annotated syntax |
---|
35 | trees. Interior nodes of a syntax tree are operators, while leaves |
---|
36 | are non-operator basic types or an operator with no children. Each |
---|
37 | node of the tree is sent individually in a node packet. Each node of |
---|
38 | the tree (node packet) may have 0 or more annotations attached to it. |
---|
39 | Annotations are transmitted individually as annotation packets and |
---|
40 | immediately follow the node to which they are attached. |
---|
41 | |
---|
42 | To support this experimentation, MP was implemented in a layered |
---|
43 | fashion and is independent of the transport mechanism used to transmit |
---|
44 | the data. Device interfaces are available for files, TCP sockets, and |
---|
45 | PVM). |
---|
46 | |
---|
47 | |
---|
48 | Table of contents of distribution |
---|
49 | --------------------------------- |
---|
50 | |
---|
51 | README This file |
---|
52 | INSTALL Instructions on how to install MP |
---|
53 | MP/ Sources for the MP library |
---|
54 | MPT/ Sources for the MP Tree library |
---|
55 | Makefile.in Template for the toplevel makefile |
---|
56 | configure Configuration program (shell script) |
---|
57 | configure.in Template for configure file |
---|
58 | doc/ Documentation (Guide to MP Programming) |
---|
59 | examples/ Other example programs |
---|
60 | gmp/ Source for the GNU Multiple Precision package |
---|
61 | mp-pvm3/ Files related to using PVM as a transport device |
---|
62 | mpviewer/ Source for a simple program for viewing MP trees |
---|
63 | |
---|
64 | |
---|
65 | Installation |
---|
66 | ------------ |
---|
67 | |
---|
68 | The code is written in C and has been compiled and tested on the |
---|
69 | following platforms: |
---|
70 | |
---|
71 | - SGI workstations running IRIX 5.2 (cc) |
---|
72 | - Sun workstations running SunOS 4.x (gcc) |
---|
73 | - DECstation 5000 running Ultrix 4.2 (gcc) |
---|
74 | - HP workstations running HP-UX A.09.05 (cc and gcc) |
---|
75 | - IBM RS6000 workstations running AIX 3.2.5 (gcc) |
---|
76 | - Intel 586 system running Linux 1.2.13 (gcc) |
---|
77 | - Intel 586 system running Windows 95 (Borland C++ 5.0) |
---|
78 | |
---|
79 | For instructions on how to install MP, see the file INSTALL contained |
---|
80 | in this directory. |
---|
81 | |
---|
82 | |
---|
83 | Compiling with libMP.a |
---|
84 | ---------------------- |
---|
85 | To compile a program, yourprog.c, you would do: |
---|
86 | |
---|
87 | gcc -LLIB_DIR -IINCLUDE_DIR yourprog.c -lMP -lgmp -o yourprog |
---|
88 | |
---|
89 | Where LIB_DIR is the directory in which libMP.a and libgmp.a have been |
---|
90 | installed and INCLUDE_DIR is the include directory of the MP |
---|
91 | distribution. The GMP include files used by MP are also kept there. |
---|
92 | |
---|
93 | NOTE: You may have additional libraries to list and may have to change |
---|
94 | their order to have the linker accept them. |
---|
95 | |
---|
96 | |
---|
97 | Reporting Results |
---|
98 | ----------------- |
---|
99 | As the library and the protocol are still experimental, we would |
---|
100 | greatly appreciate learning of your experiences: how you have used the |
---|
101 | library, what you found worthwhile, what you had to change, any bugs |
---|
102 | (!) you found. |
---|
103 | |
---|
104 | Please send bug reports or fixes, inquiries, and experiences to |
---|
105 | |
---|
106 | mp@mcs.kent.edu. |
---|
107 | |
---|
108 | If you use MP as part of significant project and/or publish a result |
---|
109 | that was partly obtained using MP, please cite MP. We would greatly |
---|
110 | appreciate it if you could inform us about such a project or paper. |
---|
111 | Thank you. |
---|
112 | |
---|
113 | |
---|
114 | ####################################################################### |
---|
115 | # Remarks for Borland C++ users from Eckhard Hennig hennig@rhrk.uni-kl.de |
---|
116 | ####################################################################### |
---|
117 | |
---|
118 | I know I should have provided a MAKE file here but the ones |
---|
119 | automatically generated by the IDE make things look even worse. So |
---|
120 | follow these steps to compile the MP library on your Windows95/NT |
---|
121 | system: |
---|
122 | |
---|
123 | 1. Make a new project named mpwin32 with link target mpwin32.lib |
---|
124 | (Target type static library (for *.exe), Environment Win32, |
---|
125 | Target model GUI or Console) |
---|
126 | |
---|
127 | 2. In the project window, include all MP_*.c files (except for |
---|
128 | MP_BigNum, MP_TbTransp, MP_PvmTransp, and MP_SacBigInt) under your |
---|
129 | link target mpwin32.lib |
---|
130 | |
---|
131 | 3. Under "Options | Project | Compiler | Definitions" set these compiler |
---|
132 | definitions: |
---|
133 | __STDC__=1;_IEEE |
---|
134 | |
---|
135 | 4. If you wish to include GMP then define HAVE_GMP, too, and include |
---|
136 | MP_BigNum.c in your project (I haven't included the GMP library |
---|
137 | yet, so I don't know if this works.) |
---|
138 | |
---|
139 | 5. Make sure that the compiler source code type is set to Borland |
---|
140 | extensions AND NOT ANSI C!!! Why? Because some Borland header files |
---|
141 | use C++ style double-slash comments (aaargh!) which won't compile |
---|
142 | with the ANSI setting. This also explains why the definition |
---|
143 | __STDC__=1 above is necessary: The library should be compiled in |
---|
144 | ANSI C mode but BCC doesn't define __STDC__ if the Borland language |
---|
145 | extension are selected. |
---|
146 | |
---|
147 | 6. Now try to compile the MP library. (Write to hennig@rhrk.uni-kl.de |
---|
148 | if this doesn't work.) |
---|
149 | |
---|
150 | 7. For using MP with TCP in a Win32 environment see the remarks below. |
---|
151 | |
---|
152 | |
---|
153 | ####################################################################### |
---|
154 | # Remarks concerning the Windows95/NT port of the TCP transport device |
---|
155 | # (E. Hennig) |
---|
156 | ####################################################################### |
---|
157 | |
---|
158 | The TCP transport device has been ported for use with the WinSock32 |
---|
159 | DLL with the only restriction that -MPmode launch will only work on the |
---|
160 | local machine, i.e. -MPhost localhost. |
---|
161 | |
---|
162 | If TCP is to be used as transport mechanism in a Windows program |
---|
163 | which uses MP it is absolutely necessary to call the function |
---|
164 | |
---|
165 | int WinSockInitialize(void); |
---|
166 | |
---|
167 | (declared in MP_TcpTransp.h, automatically included with MP.h) before |
---|
168 | making any calls to MP library functions. WinSockInitialize returns zero |
---|
169 | if everything is OK, and a value other than zero if the initialization |
---|
170 | has failed. Failure may result from a missing or outdated WinSock DLL. |
---|
171 | In the case of failure the program should abort and must not attempt to |
---|
172 | make any calls to MP library functions. |
---|
173 | |
---|
174 | Before exiting the Windows program, WSACleanup() must be called to free |
---|
175 | the WinSock resources allocated for the Windows MP application. Such an |
---|
176 | application would therefore typically have a main() function such as |
---|
177 | this: |
---|
178 | |
---|
179 | |
---|
180 | #include "MP.h" |
---|
181 | |
---|
182 | main(int argc, char **argv) |
---|
183 | { |
---|
184 | int WinSockError; |
---|
185 | |
---|
186 | WinSockError = WinSockInitialize(); /* Install WinSock DLL */ |
---|
187 | if (WinSockError != 0) |
---|
188 | exit(-1); |
---|
189 | |
---|
190 | /* |
---|
191 | * ... your own code ... |
---|
192 | * |
---|
193 | */ |
---|
194 | |
---|
195 | WSACleanup(); /* Clean up WinSock resources */ |
---|
196 | |
---|
197 | return 0; |
---|
198 | } |
---|
199 | |
---|
200 | |
---|
201 | |
---|
202 | |
---|
203 | Acknowledgements |
---|
204 | ---------------- |
---|
205 | |
---|
206 | MP has received support through the years from a number of sources, |
---|
207 | including ARO, NSF, and ICM/Kent. |
---|
208 | |
---|
209 | The authors wish to thank: |
---|
210 | |
---|
211 | o Ch'ng Shi Baw for his work implementing the new buffering layer and |
---|
212 | in preparing the initial interface to PVM3. |
---|
213 | o Eckhard Hennig and Marcus Thiessel for the port to Windows 95/NT and |
---|
214 | numerous fixes and improvements. |
---|
215 | o Olaf Bachmann for the MPT code, the improved configure code, and |
---|
216 | numerous fixes and improvements. |
---|
217 | o Olaf Bachmann, Thomas Metzner, Hannes Schoenemann, Andi Sorgatz for |
---|
218 | MP_PariBigInt.c. |
---|
219 | |
---|
220 | The package makes use of copyrighted material from Sun's XDR and GNU's |
---|
221 | Multiple Precision package. |
---|
222 | |
---|
223 | -------------------------------------------------------------------------- |
---|
224 | |
---|
225 | *NOTICE* |
---|
226 | |
---|
227 | Important addition to the COPYING: |
---|
228 | |
---|
229 | As of September 2006, MP is also licensed under GPL: |
---|
230 | |
---|
231 | From: Simon Gray <SGRAY@wooster.edu> |
---|
232 | Date: 07-Sep-2006 07:43 |
---|
233 | Subject: Re: License for MP |
---|
234 | To: "Paul S. Wang" <pwang@cs.kent.edu>, Jordi Gutierrez Hermoso |
---|
235 | <jordigh@gmail.com> |
---|
236 | Cc: kajler@paris.ensmp.fr |
---|
237 | |
---|
238 | |
---|
239 | Agreed. Nice to hear this combination is still being used. |
---|
240 | |
---|
241 | |
---|
242 | Simon Gray, PhD |
---|
243 | Department of Mathematics and Computer Science |
---|
244 | College of Wooster |
---|
245 | |
---|
246 | |
---|
247 | ---------- Forwarded message ---------- |
---|
248 | From: Norbert Kajler <Norbert.Kajler@ensmp.fr> |
---|
249 | Date: 07-Sep-2006 07:35 |
---|
250 | Subject: Re: License for MP |
---|
251 | To: Jordi Gutierrez Hermoso <jordigh@gmail.com> |
---|
252 | Cc: sgray@mcs.kent.edu, pwang@cs.kent.edu |
---|
253 | |
---|
254 | |
---|
255 | Dear Jordi, Paul, Simon, |
---|
256 | |
---|
257 | I have no objection either, and agrees with whatever Paul decides. |
---|
258 | |
---|
259 | BTW, I just attended a lecture by Richard Stallman yesterday. I know next |
---|
260 | to nothing about DRM and software licenses but after listening Richard, |
---|
261 | my understanding is that a "free" program (in terms of GNU philosophy) |
---|
262 | is indeed a program that includes some kind of viral licence (so that |
---|
263 | programs derived from a "free" program must remain 100% "free", and so on). |
---|
264 | |
---|
265 | Therefore I am confused with the following sentences : |
---|
266 | |
---|
267 | > The specific problem is that you do not allow modifications of your code fo |
---|
268 | r |
---|
269 | > commercial purposes, which according to the DFSG, makes your code |
---|
270 | > non-free. |
---|
271 | |
---|
272 | Not that I insist on any kind of license, but it looks like I missed |
---|
273 | something :-) |
---|
274 | |
---|
275 | Regards, |
---|
276 | -- Norbert |
---|
277 | |
---|
278 | |
---|
279 | |
---|
280 | ---------- Forwarded message ---------- |
---|
281 | From: Paul S. Wang <pwang@cs.kent.edu> |
---|
282 | Date: 06-Sep-2006 16:22 |
---|
283 | Subject: Re: License for MP |
---|
284 | To: Jordi Gutierrez Hermoso <jordigh@gmail.com> |
---|
285 | Cc: kajler@paris.ensmp.fr, sgray@wooster.edu |
---|
286 | |
---|
287 | |
---|
288 | Jordi, |
---|
289 | |
---|
290 | I am agreeable to any reasonable license including GLP. |
---|
291 | |
---|
292 | I am forwarding the msg to Simon and Norbert to see what |
---|
293 | they say. |
---|
294 | |
---|
295 | Paul |
---|
296 | |
---|