forked from snoweye/pbdMPI
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
421 lines (320 loc) · 12.2 KB
/
ChangeLog
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
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
2024-09-15: Ver. 0.5-2
* Fix non-API call to R: 'Rf_isValidString'.
* Remove all "Rf_*".
2023-10-03: Ver. 0.5-1
* Fix warnings related to gcc-13 and lang-13.
2023-09-09: Ver. 0.5-0
* Alter system environment variables "TMPDIR" to where R tempdir() is
such as "Rtmp..." since newer OpenMPI dumps some temporary directories and
files to "TMPDIR" (or "-mca orte_tmpdir_base") when it runs.
* Add ".pbd_env$MPI.TYPE" in the initial function .mpiopt_init() to export
the "mpi.type" with default "OPENMPIxi"'.
2023-09-03: Ver. 0.5-0
* Remove meta data from man.
* Put vignette pdf back.
* Modify CITATION.
2023-08-31: Ver. 0.5-0
* Managed RNG streams now use comm.set.seed() and comm.set.stream() for
resource-independent (rank and core) guaranteed reproducibility
* Added capability in comm.chunk() can set up managed RNG streams
* Unmanaged RNG now defaults to R/base: likely different streams but not
guaranteed
* Imports L'Ecuyer-CMRG from `parallel` package instead of `rlecuyer`
* demo/seed.r replaced with demo/seed_rank.r and demo/seed_vec.r
* Various documentation updates
2022-11-20: Ver. 0.4-7
* Some doc and minor code changes.
2022-08-06: Ver. 0.4-6
* comm.chunk() function added for more data chunking options.
* Replace class() with inherits() for "try-error".
* Modify "appveyor.yml".
* Fix "strict-prototype" warnings.
2022-03-10: Ver. 0.4-6
* Fixed "info" interaction with slurm functions on some HPC systems.
* Rename global variables by adding "global_spmd_" to variables that
may be potentially affected.
2022-03-07: Ver. 0.4-5
* Initialize/free some fake info and avoid MPI_INFO_NULL.
2021-11-05: Ver. 0.4-4
* Update autoconf to 2.71.
2020-01-26: Ver. 0.4-3
* Change "execmpi()" to finalize current mpi first.
2019-12-01: Ver. 0.4-2
* Fix multiple definition warnings due to "-fno-common" as default in gcc-10.
2019-11-21: Ver. 0.4-1
* Remove "00LOCK-pbdMPI/00new/" from Makeconf generated by Makevars.win for
64bit MS-MPI library only.
2019-11-17: Ver. 0.4-0
* Fix `isend()` by adding `spmd.check.type.send()` which is needed
by `recv()` for handshaking.
2019-05-07: Ver. 0.4-0
* Fix check type for send/recv long vectors.
2019-04-07: Ver. 0.4-0
* Add "inst/mpi_valgrind" for checking and comparing memory lost, etc.
2019-02-23: Ver. 0.3-9
* Add IBM MPI support for Summit supercomputer.
2019-01-20: Ver. 0.3-9
* Migrate float32 class to float package via import in NAMESPACE.
* Export `get.conf()`, `get.lib()`, and `get.sysenv()`.
2018-09-21: Ver. 0.3-9
* Adjust "get.mpi.comm.ptr()" and "addr.mpi.comm.ptr()" and their C codes.
* Add a test example "inst/tests/mpi_comm_ptr.r".
2018-08-22: Ver. 0.3-9
* Fix examples and add man helps for the new "send()" and "recv()".
2018-08-21: Ver. 0.3-9
* Add more "check.type()" for flexible "send()" and "recv()".
* Change examples in "inst/" to force "check.type" as FALSE wherever
"send/recv" and "isend/irecv" are involved.
2018-08-12: Ver. 0.3-9
* Add "get.mpi.comm.ptr()" and "addr.mpi.comm.ptr()" to get MPI_COMM pointers.
* Add C combine R example in "inst/".
* Add more flexible "send()" and "recv()".
2018-08-03: Ver. 0.3-8
* Fedora28 use "module load mpi/openmpi-x86_64" to obtain mpiexec.
* Roll back partially to Ver. 0.3-6 because pkg-config may give linking order
differently that may trigger some dynamic loading problems.
2018-07-29: Ver. 0.3-7
* Add "pkg-config" to "configure.ac".
* Check "OpenMPI" and "MPICH2" with "pkg-config".
2018-05-18: Ver. 0.3-6
* Move "rlecuyer" to Imports.
2018-04-30: Ver. 0.3-6
* Change some problems related UTF-8, latin1 TeX inputs, especially for
TeXLive 2018.
2018-02-25: Ver. 0.3-5
* Fix execmpi().
* system(wait = FALSE) doesn't work with MPI correctly in Unix-alike systems.
* Execute MPI in background and dump the results to the log file.
* Read the results back in from the log file when the job is complete.
* Windows system can not do the background job, but wait = TRUE is fine.
2018-02-17: Ver. 0.3-5
* Add execmpi().
2017-12-12: Ver. 0.3-4
* Added comm.localrank().
2017-12-02: Ver. 0.3-4
* Fix a "spmd.gatherv_array()" bug.
2017-11-16: Ver. 0.3-4
* Added "spmd.allreduce.float()" and "spmd.reduce.float()".
2017-09-24: Ver. 0.3-4
* Fix man help regarding "task.pull()".
2017-07-04: Ver. 0.3-4
* Fix a finalize bug in "spmd.finalize()" C code.
2016-12-17: Ver. 0.3-3
* Change web address.
2016-10-08: Ver. 0.3-3
* Add .travis.yml.
2016-09-25: Ver. 0.3-3
* Change to "https://cran.r-project.org/...".
2016-07-17: Ver. 0.3-3
* Improve Makevars.win for both MS-MPI HPC package and SDK package.
2016-07-14: Ver. 0.3-2
* Use Rtools34.
* Use MS-MPI v7.1.12437 published on 06/22/2016.
2016-01-27: Ver. 0.3-2
* Drop initialization of .pbd_env.
* Migrate to R-3.3.* and R-3.4.*.
* Use Rtools33.
2015-12-30: Ver. 0.3-1
* Drop pbdCS temporarily.
2015-12-19: Ver. 0.3-1
* Add pbd_opt().
2015-11-03: Ver. 0.3-0
* Simplify global options.
2015-10-24: Ver. 0.3-0
* Change to common environment, but this will create masking, overwritting,
and texting problems when other pbdR pacakges are loading.
* Change again to .pbd_env, .mpiopt_set(), .mpiopt_get(), and
.mpiopt_init() with huge options rewritting.
2015-10-22: Ver. 0.3-0
* Fix comm.set.seed problem.
2015-10-17: Ver. 0.3-0
* Drop "data/envir.r".
2015-09-05: Ver. 0.3-0
* Check with ZMQ and CS.
* Rename global Env again.
2015-08-30: Ver. 0.3-0
* Reversion to 0.3.
* Change option controlling method. Move from data to new.env.
2015-08-16: Ver. 0.2-6
* Add barrier to task.pull, pbdLapply, pbdSapply, and pbdApply.
2015-08-10: Ver. 0.2-6
* Add alltoall and alltoallv, example, manual.
2015-07-21: Ver. 0.2-6
* Modify Description.
* Hide spmd_comm_spawn if MPI2 is not defined (needed for impi).
2015-07-03: Ver. 0.2-6
* Check autoloaded MPI symbol for mac.
* Change NAMESPACE for --as-cran.
* Change zzz.r.in for dyn.load() using local=FALSE.
2015-05-30: Ver. 0.2-6
* Register comm.sort in S3method.
* Modify Description.
2014-03-20: Ver. 0.2-6
* Add bcast message.
2014-12-07: Ver. 0.2-6
* Merge R_CallMethodDef for speeding up dynload problems.
2014-10-19: Ver. 0.2-6
* Add is.finalized() for the CS problem.
2014-10-02: Ver. 0.2-5
* Fix no visible binding for global variable problem.
2014-09-xx: Ver. 0.2-5
* Implement two stages allreduce and allgather.
2014-08-23: Ver. 0.2-5
* Add vignettes FAQ solution for MacOS 10.9.4, OpenMPI 1.8.1 and R 3.1.1.
2014-07-28: Ver. 0.2-5
* Add comm.split.by.node().
* Add comm.within and comm.between.
2014-06-30: Ver. 0.2-5
* Add divide.job.vector() and divide.job.list().
* Add LD_LIB_PATH to configure.ac and zzz.r.in.
2014-06-21: Ver. 0.2-5
* Drop jss.cls and jss.bst.
2014-05-27: Ver. 0.2-4
* Change to MPI_Comm_set_errhandler().
* Fix Makevars.win logic.
2014-05-24: Ver. 0.2-3
* Start official migration to MS-MPI.
2014-05-10: Ver. 0.2-3
* Add logical and bit-wise AND, OR, XOR to allreduce() and reduce().
* Improve comm.allcommon().
2014-05-04: Ver. 0.2-3
* Add comm.as.gbd(), comm.pairwise(), and comm.dist().
* The isend() non-blocking problems solved via buffering.
2014-04-01: Ver. 0.2-3
* Fix a bcast() bug of unbalance call stack by switching to spmd.bcast.default
for vectors of integer and double.
2014-03-22: Ver. 0.2-3
* Adjust configure.ac and Makeconf for pbdSSLAP.
2014-03-11: Ver. 0.2-3
* Add try options to task.pull().
2014-01-28: Ver. 0.2-3
* Fix bcast() bugs.
* Fix spmd.scatter.array() bugs.
* Fix seed problem again.
2014-01-25: Ver. 0.2-2
* Add comm.read.table(), comm.read.csv(), and comm.read.csv2(), and
man pages and a section to vignettes.
* Fix get.jid() option.
* Fix bugs in comm.write.csv() and comm.write.csv2().
2014-01-20: Ver. 0.2-2
* More tests on downstream pbdR package with MS-MPI.
2014-01-12: Ver. 0.2-2
* Add Prof. Brian Ripley's trick to MS-MPI's 64bits support.
* Move system requirements from MPICH2 to MS-MPI as Windows standard MPI.
2014-01-05: Ver. 0.2-2
* Add Intel Miscrosoft HPC Pack 2012 (MS-MPI) support.
* Add FreeBSD support suggested by Christian Heckendorf.
* Fix seed problems.
2013-12-03: Ver. 0.2-2
* Add Intel MPI support.
2013-12-01: Ver. 0.2-2
* Add comm.range(), comm.max(), and comm.min().
* Add comm.which(), comm.which.max(), and comm.which.min().
* Add comm.length(), comm.sum(), comm.mean(), comm.var(), and comm.sd().
2013-11-26: Ver. 0.2-2
* Disable seg. fault of overloading .RData and .RHistory.
2013-11-02: Ver. 0.2-2
* Fix some bugs and add gathering for task.pull(), pbdLapply(), and
pbdSapply().
* Add comm.Rprof().
2013-10-02: Ver. 0.2-2
* Add comm.write(), comm.write.table(), comm.rite.csv(), and
comm.write.csv2().
* Add comm.split(), intercomm.merge() and intercomm.create().
2013-09-21: Ver. 0.2-1
* Fix pbdPROF configure problem.
2013-09-14: Ver. 0.2-1
* Add Comm_connect, Comm_accept, Open_port, Close_port, Publish_name,
Unpublish_name, and Lookup_name.
* Add Client/Server examples.
2013-09-03: Ver. 0.2-1
* Simply replace LENGTH by XLENGTH does not solve the longer vector problem.
Follow R/src/main/memory.c to support longer vectors since int is 32-bit
for both of i386 and x86_64 systems.
* Add MPI_PROC_NULL to sendrecv() and sendrecv.replace().
2013-08-01: Ver. 0.2-1
* Fix i.lib problem in "R/zzz.r.in".
* Remove --with-Rmpi-* from configure.ac.
* Add MPICH for MPICH version 3 or later.
* Replace LENGTH by XLENGTH in all src/*.c to support longer vectors.
2013-07-24: Ver. 0.2-0
* Move fpmpi to pbdPROF and link with it's static library.
* Add mpiP and TAU.
* Move pbdDEMO::timer() to pbdMPI::comm.timer().
2013-07-05: Ver. 0.1-9 (unreleased and merged to Ver. 0.2-0)
* Change spmd.isend.default() to blocking send.
2013-07-03: Ver. 0.1-8
* Move inst/doc/vignettes/ to vignettes/.
* Add fpmpi license.
2013-07-02: Ver. 0.1-7
* Fix man page.
* Fix pbdApply.
* Add messages to interactive mode.
* Drop some barrier in comm.print and comm.cat.
* Add FAQ to vignette.
* Add fpmpi.
* Add task pull parallelism.
* Move vignettes.
2013-03-24: Ver. 0.1-6
* License changed.
* Add "block0" to get.jid and fix its bug.
* Add FPMPI for profiling.
2013-03-11: Ver. 0.1-5
* Add and fix comm.stop and comm.warning.
* Add set.seed in .onLoad to give a default set.
* Fix symbol.rds problem.
2013-01-17: Ver. 0.1-4
* Add control to comm.print and comm.cat.
* Fix .Last.lib problem.
* Fix comm.all and comm.any na.rm bug.
2012-12-13: Ver. 0.1-3
* Fix Mac OSX dynamic loading problem.
* Fix .GlobalEnv problem.
* Fix multi-arch problem.
* Add copyright to vignette.
2012-10-30: Ver. 0.1-2
* Add comm.all and comm.any, and rename g.sort to comm.sort.
2012-10-02: Ver. 0.1-1
* Make changes for Nautilus. Drop "pbdMPI:::* ideas" for other pbd packages.
* Make changes for pbdSLAP, pbdBASE, and pbdDMAT.
* Add seed functions.
* Add global sorting functions.
* Modify configure.ac and Makevars.in for Solaris and pbdSLAP, pbdBASE, and pbdDMAT.
======================= Log Before Release =====================================
2012-09-01:
* Rename to 'pbdMPI'.
* Add 'apply'-alike functions.
* Adjust "Makevars.win".
2012-08-11:
* Convert configure.ac back to Rmpi's version.
* Add "mpicc --showme" for OpenMPI and "mpicc -show" for MPICH2 in
configure.ac to automatically detect header files and shared library.
* Rewrite HPSC website.
2012-07-28:
* Rewrite configure.ac.
* MPICH2 is working on Windows 32/64bit. (OpenMPI 1.6 64bit can not run.)
2012-07-07:
* Minor adjustments for RmpiBLACS.
* Change major support to OpenMPI.
2012-06-25:
* Write vignette.
* Build binaries for Windows with OpenMPI and MPICH2.
2012-06-06:
* Write examples and codes for performance test.
* Add methods for array/matrix types.
2012-05-17:
* Build RmpiSPMD preliminary.
* Rewrite all C and R codes.
* Build in S4 methods.
* Move Master/Workers to RmpiMW.
2012-05-15:
* First try for Master/Workers.
* Build Rmpi2 preliminary.
* Try S3 methods.
* New remote exec/cmds by sending text strings.
2012-03-21:
* First try for Rmpi_0.6-0.
* First try for Rmpi2.
* Add controls for MPI pointers.
2011-10-xx:
* First try for Master/Slaves in Rmpi.