forked from open-mpi/ompi-release
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
2604 lines (2430 loc) · 121 KB
/
NEWS
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
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana
University Research and Technology
Corporation. All rights reserved.
Copyright (c) 2004-2006 The University of Tennessee and The University
of Tennessee Research Foundation. All rights
reserved.
Copyright (c) 2004-2008 High Performance Computing Center Stuttgart,
University of Stuttgart. All rights reserved.
Copyright (c) 2004-2006 The Regents of the University of California.
All rights reserved.
Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved.
Copyright (c) 2006 Voltaire, Inc. All rights reserved.
Copyright (c) 2006 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Copyright (c) 2006-2014 Los Alamos National Security, LLC. All rights
reserved.
Copyright (c) 2010-2012 IBM Corporation. All rights reserved.
Copyright (c) 2012 Oak Ridge National Labs. All rights reserved.
Copyright (c) 2012 Sandia National Laboratories. All rights reserved.
Copyright (c) 2012 University of Houston. All rights reserved.
Copyright (c) 2013 NVIDIA Corporation. All rights reserved.
Copyright (c) 2013-2015 Intel, Inc. All rights reserved.
$COPYRIGHT$
Additional copyrights may follow
$HEADER$
===========================================================================
This file contains the main features as well as overviews of specific
bug fixes (and other actions) for each version of Open MPI since
version 1.0.
As more fully described in the "Software Version Number" section in
the README file, Open MPI typically releases two separate version
series simultaneously. Since these series have different goals and
are semi-independent of each other, a single NEWS-worthy item may be
introduced into different series at different times. For example,
feature F was introduced in the vA.B series at version vA.B.C, and was
later introduced into the vX.Y series at vX.Y.Z.
The first time feature F is released, the item will be listed in the
vA.B.C section, denoted as:
(** also to appear: X.Y.Z) -- indicating that this item is also
likely to be included in future release
version vX.Y.Z.
When vX.Y.Z is later released, the same NEWS-worthy item will also be
included in the vX.Y.Z section and be denoted as:
(** also appeared: A.B.C) -- indicating that this item was previously
included in release version vA.B.C.
1.8.5
-----
- Updated the internal HWLOC with several bug fixes
- Fixed several bugs in OpenSHMEM support
- Extended vader shared memory support to 32-bit architectures
- Fixed a bug in handling subarray datatypes
- Don't use inline functions with Clang compiler
- Multiple bug fixes for cleanup during finalize
in unusual situations
- Added support for TCP keepalive signals to ensure
timely termination when sockets between daemons
cannot be created (e.g., due to a firewall)
- Added MCA parameter to allow full use of a SLURM
allocation when started from a tool (supports LLNL
debugger)
- Fixed several bugs in the configure logic for PMI
and HWLOC
- Cleaned up documentation in a few places (e.g.,
MPI_Comm_split_type)
- Fixed prototypes for MPI_Barrier
- Fixed a number of one-sided bugs
- Fixed singleton MPI_Comm_spawn
- Fixed a number of minor issues with CUDA support,
including registering of shared memory
- Improved support for Cray
- Fixed performance regression introduced by
inadvertent default enabling of thread support
1.8.4
-----
- Fix MPI_SIZEOF; now available in mpif.h for modern Fortran compilers
(see README for more details). Also fixed various compiler/linker
errors.
- Fixed inadvertant Fortran ABI break between v1.8.1 and v1.8.2 in the
mpi interface module when compiled with gfortran >= v4.9.
- Fix various MPI_THREAD_MULTIPLE issues in the TCP BTL.
- mpirun no longer requires the --hetero-nodes switch; it will
automatically detect when running in heterogeneous scenarios.
- Update LSF support, to include revamped affinity functionality.
- Update embedded hwloc to v1.9.1.
- Fixed max registerable memory computation in the openib BTL.
- Updated error message when debuggers are unable to find various
symbols/types to be more clear. Thanks to Dave Love for raising the
issue.
- Added proper support for LSF and PBS/Torque libraries in static builds.
- Rankfiles now support physical processor IDs.
- Fixed potential hang in MPI_ABORT.
- Fixed problems with the PSM MTL and "re-connect" scenarios, such as
MPI_INTERCOMM_CREATE.
- Fix MPI_IREDUCE_SCATTER with a single process.
- Fix (rare) race condition in stdout/stderr funneling to mpirun where
some trailing output could get lost when a process terminated.
- Removed inadvertent change that set --enable-mpi-thread-multiple "on"
by default, thus impacting performance for non-threaded apps.
- Significantly reduced startup time by optimizing internal hash table
implementation.
- Fixed OS X linking with the Fortran mpi module when used with
gfortran >= 4.9. Thanks to Github user yafshar for raising the
issue.
- Fixed memory leak on Cygwin platforms. Thanks for Marco Atzeri for
reporting the issue.
- Fixed seg fault in neighborhood collectives when the degree of the
topology is higher than the communicator size. Thanks to Lisandro
Dalcin for reporting the issue.
- Fixed segfault in neighborhood collectives under certain use-cases.
- Fixed various issues regarding Solaris support. Thanks to Siegmar
Gross for patiently identifying all the issues.
- Fixed PMI configure tests for certain Slurm installation patterns.
- Fixed param registration issue in Java bindings. Thanks to Takahiro
Kawashima and Siegmar Gross for identifying the issue.
- Several man page fixes.
- Silence several warnings and close some memory leaks (more remain,
but it's better than it was).
- Re-enabled the use of CMA and knem in the shared memory BTL.
- Updated mpirun manpage to correctly explain new map/rank/binding options.
- Fixed MPI_IALLGATHER problem with intercommunicators. Thanks for
Takahiro Kawashima for the patch.
- Numerous updates and performance improvements to OpenSHMEM.
- Turned off message coalescing in the openib BTL until a proper fix
for that capability can be provided (tentatively expected for 1.8.5)
- Fix a bug in iof output that dates back to the dinosaurs which would
output extra bytes if the system was very heavily loaded
- Fix a bug where specifying mca_component_show_load_errors=0 could
cause ompi_info to segfault
- Updated valgrind suppression file
1.8.3
-----
- Fixed application abort bug to ensure that MPI_Abort exits appropriately
and returns the provided exit status
- Fixed some alignment (not all) issues identified by Clang
- Allow CUDA-aware to work with nonblocking collectives. Forces packing to
happen when using GPU buffers.
- Fixed configure test issue with Intel 2015 Fortran compiler
- Fixed some PGI-related errors
- Provide better help message when encountering a firewall
- Fixed MCA parameter quoting to protect multi-word params and params
that contain special characters
- Improved the bind-to help message to clarify the defaults
- Add new MPI-3.1 tools interface
- Several performance optimizations and memory leak cleanups
- Turn off the coll/ml plugin unless specifically requested as it
remains in an experimental state
- Fix LSF support by adding required libraries for the latest LSF
releases. Thanks to Joshua Randal for supplying the initial
patches.
1.8.2
-----
- Fix auto-wireup of OOB, allowing ORTE to automatically
test all available NICs
- "Un-deprecate" pernode, npernode, and npersocket options
by popular demand
- Add missing Fortran bindings for MPI_WIN_LOCK_ALL,
MPI_WIN_UNLOCK_ALL, and MPI_WIN_SYNC.
- Fix cascading/over-quoting in some cases with the rsh/ssh-based
launcher. Thanks to multiple users for raising the issue.
- Properly add support for gfortran 4.9 ignore TKR pragma (it was
erroneously only partially added in v1.7.5). Thanks to Marcus
Daniels for raising the issue.
- Update/improve help messages in the usnic BTL.
- Resolve a race condition in MPI_Abort.
- Fix obscure cases where static linking from wrapper compilers would
fail.
- Clarify the configure --help message about when OpenSHMEM is
enabled/disabled by default. Thanks to Paul Hargrove for the
suggestion.
- Align pages properly where relevant. Thanks to Paul Hargrove for
identifying the issue.
- Various compiler warning and minor fixes for OpenBSD, FreeBSD, and
Solaris/SPARC. Thanks to Paul Hargrove for the patches.
- Properly pass function pointers from Fortran to C in the mpi_f08
module, thereby now supporting gfortran 4.9. Thanks to Tobias
Burnus for assistance and testing with this issue.
- Improve support for Cray CLE 5.
- Fix mpirun regression: ensure exit status is non-zero if mpirun is
terminated due to signal.
- Improved CUDA efficiency of asynchronous copies.
- Fix to parameter type in MPI_Type_indexed.3. Thanks to Bastian
Beischer for reporting the mistake.
- Fix NUMA distance calculations in the openib BTL.
- Decrease time required to shut down mpirun at the end of a job.
- More RMA fixes.
- More hostfile fixes from Tetsuya Mishima.
- Fix darray issue where UB was not computed correctly.
- Fix mpi_f08 parameter name for MPI_GET_LIBRARY_VERSION. Thanks to
Junchao Zhang for pointing out the issue.
- Ensure mpirun aborts properly when unable to map processes in
scheduled environments.
- Ensure that MPI RMA error codes show up properly. Thanks to
Lisandro Dalcin for reporting the issue.
- Minor bug fixes and improvements to the bash and zsh mpirun
autocompletion scripts.
- Fix sequential mpirun process mapper. Thanks to Bill Chen for
reporting the issue.
- Correct SLURM stdout/stderr redirection.
- Added missing portals 4 files.
- Performance improvements for blocking sends and receives.
- Lots of cleanup to the ml collective component
- Added new Java methods to provide full MPI coverage
- Many OSHMEM cleanups
- Prevent comm_spawn from automatically launching a VM across
all available nodes
- Close many memory leaks to achieve valgrind-clean operation
- Better handling of TCP connection discovery for mismatched networks
where we don't have a direct 1:1 subnet match between nodes
- Prevent segfault when OMPI info tools are used in pipes and user
exits one step of that pipe before completing output
1.8.1
-----
- Fix for critical bug: mpirun removed files (but not directories)
from / when run as root. Thanks to Jay Fenlason and Orion Poplawski
for bringing the issue to our attention and helping identify the
fix.
1.8
---
- Commit upstream ROMIO fix for mixed NFS+local filesystem environments.
- Several fixes for MPI-3 one-sided support. For example,
arbitrary-length datatypes are now supported.
- Add config support for the Mellanox ConnectX 4 card.
- Add missing MPI_COMM_GET|SET_INFO functions, and missing
MPI_WEIGHTS_EMPTY and MPI_ERR_RMA_SHARED constants. Thanks to
Lisandro Dalcin for pointing out the issue.
- Update some help messages in OSHMEM, the usnic BTL, the TCP BTL, and
ORTE, and update documentation about ompi_info's --level option.
- Fix some compiler warnings.
- Ensure that ORTE daemons are not bound to a single processor
if TaskAffinity is set on by default in Slurm. Thanks to Artem Polyakov
for identifying the problem and providing a patch
1.7.5
-----
**********************************************************************
* Open MPI is now fully MPI-3.0 compliant
**********************************************************************
- Add Linux OpenSHMEM support built on top of Open MPI's MPI
layer. Thanks to Mellanox for contributing this new feature.
- Allow restricting ORTE daemons to specific cores using the
orte_daemon_cores MCA param.
- Ensure to properly set "locality" flags for processes launched via
MPI dynamic functions such as MPI_COMM_SPAWN.
- Fix MPI_GRAPH_CREATE when nnodes is smaller than the size of the old
communicator.
- usnic BTL now supports underlying UDP transport.
- usnic BTL now checks for common connectivty errors at first send to
a remote server.
- Minor scalability improvements in the usnic BTL.
- ompi_info now lists whether the Java MPI bindings are available or not.
- MPI-3: mpi.h and the Fortran interfaces now report MPI_VERSION==3
and MPI_SUBVERSION==0.
- MPI-3: Added support for new RMA functions and functionality.
- Fix MPI_Info "const buglet. Thanks to Orion Poplawski for
identifying the issue.
- Multiple fixes to mapping/binding options. Thanks to Tetsuya Mishima
for his assistance.
- Multiple fixes for normal and abnormal process termination,
including singleton MPI_Abort and ensuring to kill entire process
groups when abnormally terminating a job.
- Fix DESTDIR install for javadocs. Thanks to Orion Poplawski for
pointing out the issue.
- Various performance improvements for the MPI Java bindings.
- OMPI now uses its own internal random number generator and will not
perturb srand() and friends.
- Some cleanups for Cygwin builds. Thanks to Marco Atzeri for the
patches.
- Add a new collective component (coll/ml) that provides substantially
improved performance. It is still experimental, and requires
setting coll_ml_priority > 0 to become active.
- Add version check during startup to ensure you are using the same
version of Open MPI on all nodes in a job.
- Significantly improved the performance of MPI_DIMS_CREATE for large
values. Thanks to Andreas Schäfer for the contribution.
- Removed ASYNCHRONOUS keyword from the "ignore TKR" mpi_f08 module.
- Deprecated the following mpirun options:
--bynode, --bycore, --byslot: replaced with --map-by node|core|slot.
--npernode, --npersocket: replaced with --map-by ppr:N:node and
--map-by ppr:N:socket, respectively
- Pick NFS "infinitely stale" fix from ROMIO upstream.
- Various PMI2 fixes and extension to support broader range of mappings.
- Improve launch performance at large scale.
- Add support for PBS/Torque environments that set environment
variables to indicate the number of slots available on each nodes.
Set the ras_tm_smp MCA parameter to "1" to enable this mode.
- Add new, more scalable endpoint exchange (commonly called "modex")
method that only exchanges endpoint data on a per-peer basis
on first message. Not all transports have been updated to use
this feature. Set the rte_orte_direct_modex parameter to "1"
to enable this mode.
1.7.4
-----
**********************************************************************
* CRITICAL CHANGE
*
* As of release 1.7.4, OpenMPI's default mapping, ranking, and binding
* settings have changed:
*
* Mapping:
* if #procs <= 2, default to map-by core
* if #procs > 2, default to map-by socket
* Ranking:
* if default mapping is used, then default to rank-by slot
* if map-by <obj> is given, then default to rank-by <obj>,
* where <obj> is whatever object we mapped against
* Binding:
* default to bind-to core
*
* Users can override any of these settings individually using the
* corresponding MCA parameter. Note that multi-threaded applications
* in particular may want to override at least the binding default
* to allow threads to use multiple cores.
**********************************************************************
- Restore version number output in "ompi_info --all".
- Various bug fixes for the mpi_f08 Fortran bindings.
- Fix ROMIO compile error with Lustre 2.4. Thanks to Adam Moody for
reporting the issue.
- Various fixes for 32 bit platforms.
- Add ability to selectively disable building the mpi or mpi_f08
module. See the README file for details.
- Fix MX MTL finalization issue.
- Fix ROMIO issue when opening a file with MPI_MODE_EXCL.
- Fix PowerPC and MIPS assembly issues.
- Various fixes to the hcoll and FCA collective offload modules.
- Prevent integer overflow when creating datatypes. Thanks to
original patch from Gilles Gouaillardet.
- Port some upstream hwloc fixes to Open MPI's embedded copy for
working around buggy NUMA node cpusets and including mising header
files. Thanks to Jeff Becker and Paul Hargrove for reporting the
issues.
- Fix recursive invocation issues in the MXM MTL.
- Various bug fixes to the new MCA parameter back-end system.
- Have the posix fbtl module link against -laio on NetBSD platforms.
Thanks to Paul Hargrove for noticing the issue.
- Various updates and fixes to network filesystem detection to support
more operating systems.
- Add gfortran v4.9 "ignore TKR" syntax to the mpi Fortran module.
- Various compiler fixes for several BSD-based platforms. Thanks to
Paul Hargrove for reporting the issues.
- Fix when MPI_COMM_SPAWN[_MULTIPLE] is used on oversubscribed
systems.
- Change the output from --report bindings to simply state that a
process is not bound, instead of reporting that it is bound to all
processors.
- Per MPI-3.0 guidance, remove support for all MPI subroutines with
choice buffers from the TKR-based mpi Fortran module. Thanks to Jed
Brown for raising the issue.
- Only allow the usnic BTL to build on 64 bit platforms.
- Various bug fixes to SLURM support, to include ensuring proper
exiting on abnormal termination.
- Ensure that MPI_COMM_SPAWN[_MULTIPLE] jobs get the same mapping
directives that were used with mpirun.
- Fixed the application of TCP_NODELAY.
- Change the TCP BTL to not warn if a non-existent interface is
ignored.
- Restored the "--bycore" mpirun option for backwards compatibility.
- Fixed debugger attach functionality. Thanks to Ashley Pittman for
reporting the issue and suggesting the fix.
- Fixed faulty MPI_IBCAST when invoked on a communicator with only
one process.
- Add new Mellanox device IDs to the openib BTL.
- Progress towards cleaning up various internal memory leaks as
reported by Valgrind.
- Fixed some annoying flex-generated warnings that have been there for
years. Thanks to Tom Fogal for the initial patch.
- Support user-provided environment variables via the "env" info key
to MPI_COMM_SPAWN[_MULTIPLE]. Thanks to Tom Fogal for the feature
request.
- Fix uninitialized variable in MPI_DIST_GRAPH_CREATE.
- Fix a variety of memory errors on SPARC platforms. Thanks to
Siegmar Gross for reporting and testing all the issues.
- Remove Solaris threads support. When building on Solaris, pthreads
will be used.
- Correctly handle the convertor internal stack for persistent
receives. Thanks to Guillaume Gouaillardet for identifying the
problem.
- Add support for using an external libevent via --with-libevent. See
the README for more details.
- Various OMPIO updates and fixes.
- Add support for the MPIEXEC_TIMEOUT environment variable. If set,
mpirun will terminate the job after this many seconds.
- Update the internal copy of ROMIO to that which shipped in MPICH
3.0.4.
- Various performance tweaks and improvements in the usnic BTL,
including now reporting MPI_T performance variables for each usnic
device.
- Fix to not access send datatypes for non-root processes with
MPI_ISCATTER[V] and MPI_IGATHER[V]. Thanks to Pierre Jolivet for
supplying the initial patch.
- Update VampirTrace to 5.14.4.9.
- Fix ptmalloc2 hook disable when used with ummunotify.
- Change the default connection manager for the openib BTL to be based
on UD verbs data exchanges instead of ORTE OOB data exchanges.
- Fix Fortran compile error when compiling with 8-byte INTEGERs and
4-byte ints.
- Fix C++11 issue identified by Jeremiah Willcock.
- Many changes, updates, and bug fixes to the ORTE run-time layer.
- Correctly handle MPI_REDUCE_SCATTER with recvcounts of 0.
- Update man pages for MPI-3, and add some missing man pages for
MPI-2.x functions.
- Updated mpi_f08 module in accordance with post-MPI-3.0 errata which
basically removed BIND(C) from all interfaces.
- Fixed MPI_IN_PLACE detection for MPI_SCATTER[V] in Fortran
routines. Thanks to Charles Gerlach for identifying the issue.
- Added support for routable RoCE to the openib BTL.
- Update embedded hwloc to v1.7.2.
- ErrMgr framework redesigned to better support fault tolerance development
activities. See the following RFC for details:
http://www.open-mpi.org/community/lists/devel/2010/03/7589.php
- Added database framework to OPAL and changed all modex operations
to flow thru it, also included additional system info in the
available data
- Added staged state machine to support sequential work flows
- Added distributed file system support for accessing files across
nodes that do not have networked file systems
- Extended filem framework to support scalable pre-positioning of
files for use by applications, adding new "raw" component that
transmits files across the daemon network
- Native Windows support has been removed. A cygwin package is
available from that group for Windows-based use.
- Added new MPI Java bindings. See the Javadocs for more details on
the API.
- Wrapper compilers now add rpath support by default to generated
executables on systems that support it. This behavior can be
disabled via --disable-wrapper-rpath. See note in README about ABI
issues when using rpath in MPI applications.
- Added a new parallel I/O component and multiple new frameworks to
support parallel I/O operations.
- Fixed MPI_STATUS_SIZE Fortran issue when used with 8-byte Fortran
INTEGERs and 4-byte C ints. Since this issue affects ABI, it is
only enabled if Open MPI is configured with
--enable-abi-breaking-fortran-status-i8-fix. Thanks to Jim Parker
for supplying the initial patch.
- Add support for Intel Phi SCIF transport.
- For CUDA-aware MPI configured with CUDA 6.0, use new pointer
attribute to avoid extra synchronization in stream 0 when using
CUDA IPC between GPUs on the same node.
- For CUDA-aware MPI configured with CUDA 6.0, compile in support
of GPU Direct RDMA in openib BTL to improve small message latency.
- Updated ROMIO from MPICH v3.0.4.
- MPI-3: Added support for remaining non-blocking collectives.
- MPI-3: Added support for neighborhood collectives.
- MPI-3: Updated C bindings with consistent use of [].
- MPI-3: Added the const keyword to read-only buffers.
- MPI-3: Added support for non-blocking communicator duplication.
- MPI-3: Added support for non-collective communicator creation.
1.7.3
-----
- Make CUDA-aware support dynamically load libcuda.so so CUDA-aware
MPI library can run on systems without CUDA software.
- Fix various issues with dynamic processes and intercommunicator
operations under Torque. Thanks to Suraj Prabhakaran for reporting
the problem.
- Enable support for the Mellanox MXM2 library by default.
- Improve support for Portals 4.
- Various Solaris fixes. Many thanks to Siegmar Gross for his
incredible patience in reporting all the issues.
- MPI-2.2: Add reduction support for MPI_C_*COMPLEX and MPI::*COMPLEX.
- Fixed internal accounting when openpty() fails. Thanks to Michal
Peclo for reporting the issue and providing a patch.
- Fixed too-large memory consumption in XRC mode of the openib BTL.
Thanks to Alexey Ryzhikh for the patch.
- Add bozo check for negative np values to mpirun to prevent a
deadlock. Thanks to Upinder Malhi for identifying the issue.
- Fixed MPI_IS_THREAD_MAIN behavior. Thanks to Lisandro Dalcin for
pointing out the problem.
- Various rankfile fixes.
- Fix functionality over iWARP devices.
- Various memory and performance optimizations and tweaks.
- Fix MPI_Cancel issue identified by Fujitsu.
- Add missing support for MPI_Get_address in the "use mpi" TKR
implementation. Thanks to Hugo Gagnon for identifying the issue.
- MPI-3: Add support for MPI_Count.
- MPI-2.2: Add missing MPI_IN_PLACE support for MPI_ALLTOALL.
- Added new usnic BTL to support the Cisco usNIC device.
- Minor VampirTrace update to 5.14.4.4.
- Removed support for ancient OS X systems (i.e., prior to 10.5).
- Fixed obscure packing/unpacking datatype bug. Thanks to Takahiro
Kawashima for identifying the issue.
- Add run-time support for PMI2 environments.
- Update openib BTL default parameters to include support for Mellanox
ConnectX3-Pro devices.
- Update libevent to v2.0.21.
- "ompi_info --param TYPE PLUGIN" now only shows a small number of MCA
parameters by default. Add "--level 9" or "--all" to see *all* MCA
parameters. See README for more details.
- Add support for asynchronous CUDA-aware copies.
- Add support for Mellanox MPI collective operation offload via the
"hcoll" library.
- MPI-3: Add support for the MPI_T interface. Open MPI's MCA
parameters are now accessible via the MPI_T control variable
interface. Support has been added for a small number of MPI_T
performance variables.
- Add Gentoo memory hooks override. Thanks to Justin Bronder for the
patch.
- Added new "mindist" process mapper, allowing placement of processes
via PCI locality information reported by the BIOS.
- MPI-2.2: Add support for MPI_Dist_graph functionality.
- Enable generic, client-side support for PMI2 implementations. Can
be leveraged by any resource manager that implements PMI2; e.g. SLURM,
versions 2.6 and higher.
1.7.2
-----
- Major VampirTrace update to 5.14.4.2.
(** also appeared: 1.6.5)
- Fix to set flag==1 when MPI_IPROBE is called with MPI_PROC_NULL.
(** also appeared: 1.6.5)
- Set the Intel Phi device to be ignored by default by the openib BTL.
(** also appeared: 1.6.5)
- Decrease the internal memory storage used by intrinsic MPI datatypes
for Fortran types. Thanks to Takahiro Kawashima for the initial
patch.
(** also appeared: 1.6.5)
- Fix total registered memory calculation for Mellanox ConnectIB and
OFED 2.0.
(** also appeared: 1.6.5)
- Fix possible data corruption in the MXM MTL component.
(** also appeared: 1.6.5)
- Remove extraneous -L from hwloc's embedding. Thanks to Stefan
Friedel for reporting the issue.
(** also appeared: 1.6.5)
- Fix contiguous datatype memory check. Thanks to Eric Chamberland
for reporting the issue.
(** also appeared: 1.6.5)
- Make the openib BTL more friendly to ignoring verbs devices that are
not RC-capable.
(** also appeared: 1.6.5)
- Fix some MPI datatype engine issues. Thanks to Thomas Jahns for
reporting the issue.
(** also appeared: 1.6.5)
- Add INI information for Chelsio T5 device.
(** also appeared: 1.6.5)
- Integrate MXM STREAM support for MPI_ISEND and MPI_IRECV, and other
minor MXM fixes.
(** also appeared: 1.6.5)
- Fix to not show amorphous "MPI was already finalized" error when
failing to MPI_File_close an open file. Thanks to Brian Smith for
reporting the issue.
(** also appeared: 1.6.5)
- Add a distance-based mapping component to find the socket "closest"
to the PCI bus.
- Fix an error that caused epoll to automatically be disabled
in libevent.
- Upgrade hwloc to 1.5.2.
- *Really* fixed XRC compile issue in Open Fabrics support.
- Fix MXM connection establishment flow.
- Fixed parallel debugger ability to attach to MPI jobs.
- Fixed some minor memory leaks.
- Fixed datatype corruption issue when combining datatypes of specific
formats.
- Added Location Aware Mapping Algorithm (LAMA) mapping component.
- Fixes for MPI_STATUS handling in corner cases.
- Add a distance-based mapping component to find the socket "closest" to the PCI bus.
1.7.1
-----
- Fixed compile error when --without-memory-manager was specified
on Linux
- Fixed XRC compile issue in Open Fabrics support.
1.7
---
- Added MPI-3 functionality:
- MPI_GET_LIBRARY_VERSION
- Matched probe
- MPI_TYPE_CREATE_HINDEXED_BLOCK
- Non-blocking collectives
- MPI_INFO_ENV support
- Fortran '08 bindings (see below)
- Dropped support for checkpoint/restart due to loss of maintainer :-(
- Enabled compile-time warning of deprecated MPI functions by default
(in supported compilers).
- Revamped Fortran MPI bindings (see the README for details):
- "mpifort" is now the preferred wrapper compiler for Fortran
- Added "use mpi_f08" bindings (for compilers that support it)
- Added better "use mpi" support (for compilers that support it)
- Removed incorrect MPI_SCATTERV interface from "mpi" module that
was added in the 1.5.x series for ABI reasons.
- Lots of VampirTrace upgrades and fixes; upgrade to v5.14.3.
- Modified process affinity system to provide warning when bindings
result in being "bound to all", which is equivalent to not being
bound.
- Removed maffinity, paffinity, and carto frameworks (and associated
MCA params).
- Upgraded to hwloc v1.5.1.
- Added performance improvements to the OpenIB (OpenFabrics) BTL.
- Made malloc hooks more friendly to IO interprosers. Thanks to the
bug report and suggested fix from Darshan maintainer Phil Carns.
- Added support for the DMTCP checkpoint/restart system.
- Added support for the Cray uGNI interconnect.
- Fixed header file problems on OpenBSD.
- Fixed issue with MPI_TYPE_CREATE_F90_REAL.
- Wrapper compilers now explicitly list/link all Open MPI libraries if
they detect static linking CLI arguments.
- Open MPI now requires a C99 compiler to build. Please upgrade your
C compiler if you do not have a C99-compliant compiler.
- Fix MPI_GET_PROCESSOR_NAME Fortran binding to set ierr properly.
Thanks to LANL for spotting the error.
- Many MXM and FCA updates.
- Fixed erroneous free of putenv'ed string that showed up in Valgrind
reports.
- Fixed MPI_IN_PLACE case for MPI_ALLGATHER.
- Fixed a bug that prevented MCA params from being forwarded to
daemons upon launch.
- Fixed issues with VT and CUDA --with-cuda[-libdir] configuration CLI
parameters.
- Entirely new implementation of many MPI collective routines focused
on better performance.
- Revamped autogen / build system.
- Add new sensor framework to ORTE that includes modules for detecting
stalled applications and processes that consume too much memory.
- Added new state machine framework to ORTE that converts ORTE into an
event-driven state machine using the event library.
- Added a new MCA parameter (ess_base_stream_buffering) that allows the user
to override the system default for buffering of stdout/stderr streams
(via setvbuf). Parameter is not visible via ompi_info.
- Revamped the launch system to allow consideration of node hardware
in assigning process locations and bindings.
- Added the -novm option to preserve the prior launch behavior.
- Revamped the process mapping system to utilize node hardware by adding
new map-by, rank-by, and bind-to cmd line options.
- Added new MCA parameter to provide protection against IO forwarding
backlog.
- Dropped support for native Windows due to loss of maintainers. :-(
- Added a new parallel I/O component and multiple new frameworks to
support parallel I/O operations.
- Fix typo in orte_setup_hadoop.m4. Thanks to Aleksej Saushev for
reporting it
- Fix a very old error in opal_path_access(). Thanks to Marco Atzeri
for chasing it down.
1.6.5
-----
- Updated default SRQ parameters for the openib BTL.
(** also to appear: 1.7.2)
- Major VampirTrace update to 5.14.4.2.
(** also to appear: 1.7.2)
- Fix to set flag==1 when MPI_IPROBE is called with MPI_PROC_NULL.
(** also to appear: 1.7.2)
- Set the Intel Phi device to be ignored by default by the openib BTL.
(** also to appear: 1.7.2)
- Decrease the internal memory storage used by intrinsic MPI datatypes
for Fortran types. Thanks to Takahiro Kawashima for the initial
patch.
(** also to appear: 1.7.2)
- Fix total registered memory calculation for Mellanox ConnectIB and
OFED 2.0.
(** also to appear: 1.7.2)
- Fix possible data corruption in the MXM MTL component.
(** also to appear: 1.7.2)
- Remove extraneous -L from hwloc's embedding. Thanks to Stefan
Friedel for reporting the issue.
(** also to appear: 1.7.2)
- Fix contiguous datatype memory check. Thanks to Eric Chamberland
for reporting the issue.
(** also to appear: 1.7.2)
- Make the openib BTL more friendly to ignoring verbs devices that are
not RC-capable.
(** also to appear: 1.7.2)
- Fix some MPI datatype engine issues. Thanks to Thomas Jahns for
reporting the issue.
(** also to appear: 1.7.2)
- Add INI information for Chelsio T5 device.
(** also to appear: 1.7.2)
- Integrate MXM STREAM support for MPI_ISEND and MPI_IRECV, and other
minor MXM fixes.
(** also to appear: 1.7.2)
- Improved alignment for OpenFabrics buffers.
- Fix to not show amorphous "MPI was already finalized" error when
failing to MPI_File_close an open file. Thanks to Brian Smith for
reporting the issue.
(** also to appear: 1.7.2)
1.6.4
-----
- Fix Cygwin shared memory and debugger plugin support. Thanks to
Marco Atzeri for reporting the issue and providing initial patches.
- Fix to obtaining the correct available nodes when a rankfile is
providing the allocation. Thanks to Siegmar Gross for reporting the
problem.
- Fix process binding issue on Solaris. Thanks to Siegmar Gross for
reporting the problem.
- Updates for MXM 2.0.
- Major VT update to 5.14.2.3.
- Fixed F77 constants for Cygwin/Cmake build.
- Fix a linker error when configuring --without-hwloc.
- Automatically provide compiler flags that compile properly on some
types of ARM systems.
- Fix slot_list behavior when multiple sockets are specified. Thanks
to Siegmar Gross for reporting the problem.
- Fixed memory leak in one-sided operations. Thanks to Victor
Vysotskiy for letting us know about this one.
- Added performance improvements to the OpenIB (OpenFabrics) BTL.
- Improved error message when process affinity fails.
- Fixed MPI_MINLOC on man pages for MPI_REDUCE(_LOCAL). Thanks to Jed
Brown for noticing the problem and supplying a fix.
- Made malloc hooks more friendly to IO interprosers. Thanks to the
bug report and suggested fix from Darshan maintainer Phil Carns.
- Restored ability to direct launch under SLURM without PMI support.
- Fixed MPI datatype issues on OpenBSD.
- Major VT update to 5.14.2.3.
- Support FCA v3.0+.
- Fixed header file problems on OpenBSD.
- Fixed issue with MPI_TYPE_CREATE_F90_REAL.
- Fix an issue with using external libltdl installations. Thanks to
opolawski for identifying the problem.
- Fixed MPI_IN_PLACE case for MPI_ALLGATHER for FCA.
- Allow SLURM PMI support to look in lib64 directories. Thanks to
Guillaume Papaure for the patch.
- Restore "use mpi" ABI compatibility with the rest of the 1.5/1.6
series (except for v1.6.3, where it was accidentally broken).
- Fix a very old error in opal_path_access(). Thanks to Marco Atzeri
for chasing it down.
1.6.3
-----
- Fix mpirun --launch-agent behavior when a prefix is specified.
Thanks to Reuti for identifying the issue.
- Fixed memchecker configury.
- Brought over some compiler warning squashes from the development trunk.
- Fix spawning from a singleton to multiple hosts when the "add-host"
MPI_Info key is used. Thanks to Brian Budge for pointing out the
problem.
- Add Mellanox ConnextIB IDs and max inline value.
- Fix rankfile when no -np is given.
- FreeBSD detection improvement. Thanks to Brooks Davis for the
patch.
- Removed TCP warnings on Windows.
- Improved collective algorithm selection for very large messages.
- Fix PSM MTL affinity settings.
- Fix issue with MPI_OP_COMMUTATIVE in the mpif.h bindings. Thanks to
Ake Sandgren for providing a patch to fix the issue.
- Fix issue with MPI_SIZEOF when using CHARACTER and LOGICAL types in
the mpi module. Thanks to Ake Sandgren for providing a patch to fix
the issue.
1.6.2
-----
- Fix issue with MX MTL. Thanks to Doug Eadline for raising the issue.
- Fix singleton MPI_COMM_SPAWN when the result job spans multiple nodes.
- Fix MXM hang, and update for latest version of MXM.
- Update to support Mellanox FCA 2.5.
- Fix startup hang for large jobs.
- Ensure MPI_TESTANY / MPI_WAITANY properly set the empty status when
count==0.
- Fix MPI_CART_SUB behavior of not copying periods to the new
communicator properly. Thanks to John Craske for the bug report.
- Add btl_openib_abort_not_enough_reg_mem MCA parameter to cause Open
MPI to abort MPI jobs if there is not enough registered memory
available on the system (vs. just printing a warning). Thanks to
Brock Palen for raising the issue.
- Minor fix to Fortran MPI_INFO_GET: only copy a value back to the
user's buffer if the flag is .TRUE.
- Fix VampirTrace compilation issue with the PGI compiler suite.
1.6.1
-----
- A bunch of changes to eliminate hangs on OpenFabrics-based networks.
Users with Mellanox hardware are ***STRONGLY ENCOURAGED*** to check
their registered memory kernel module settings to ensure that the OS
will allow registering more than 8GB of memory. See this FAQ item
for details:
http://www.open-mpi.org/faq/?category=openfabrics#ib-low-reg-mem
- Fall back to send/receive semantics if registered memory is
unavilable for RDMA.
- Fix two fragment leaks when registered memory is exhausted.
- Hueristically determine how much registered memory is available
and warn if it's significantly less than all of RAM.
- Artifically limit the amount of registered memory each MPI process
can use to about 1/Nth to total registered memory available.
- Improve error messages when events occur that are likely due to
unexpected registered memory exhaustion.
- Fix double semicolon error in the C++ in <mpi.h>. Thanks to John
Foster for pointing out the issue.
- Allow -Xclang to be specified multiple times in CFLAGS. Thanks to
P. Martin for raising the issue.
- Break up a giant "print *" statement in the ABI-preserving incorrect
MPI_SCATTER interface in the "large" Fortran "mpi" module. Thanks
to Juan Escobar for the initial patch.
- Switch the MPI_ALLTOALLV default algorithm to a pairwise exchange.
- Increase the openib BTL default CQ length to handle more types of
OpenFabrics devices.
- Lots of VampirTrace fixes; upgrade to v5.13.0.4.
- Map MPI_2INTEGER to underlying MPI_INTEGERs, not MPI_INTs.
- Ensure that the OMPI version number is toleant of handling spaces.
Thanks to dragonboy for identifying the issue.
- Fixed IN parameter marking on Fortran "mpi" module
MPI_COMM_TEST_INTER interface.
- Various MXM improvements.
- Make the output of "mpirun --report-bindings" much more friendly /
human-readable.
- Properly handle MPI_COMPLEX8|16|32.
- More fixes for mpirun's processor affinity options (--bind-to-core
and friends).
- Use aligned memory for OpenFabrics registered memory.
- Multiple fixes for parameter checking in MPI_ALLGATHERV,
MPI_REDUCE_SCATTER, MPI_SCATTERV, and MPI_GATHERV. Thanks to the
mpi4py community (Bennet Fauber, Lisandro Dalcin, Jonathan Dursi).
- Fixed file positioning overflows in MPI_FILE_GET_POSITION,
MPI_FILE_GET_POSITION_SHARED, FILE_GET_SIZE, FILE_GET_VIEW.
- Removed the broken --cpu-set mpirun option.
- Fix cleanup of MPI errorcodes. Thanks to Alexey Bayduraev for the
patch.
- Fix default hostfile location. Thanks to Götz Waschk for noticing
the issue.
- Improve several error messages.
1.6
---
- Fix some process affinity issues. When binding a process, Open MPI
will now bind to all available hyperthreads in a core (or socket,
depending on the binding options specified).
--> Note that "mpirun --bind-to-socket ..." does not work on POWER6-
and POWER7-based systems with some Linux kernel versions. See
the FAQ on the Open MPI web site for more information.
- Add support for ARM5 and ARM6 (in addition to the existing ARM7
support). Thanks to Evan Clinton for the patch.
- Minor Mellanox MXM fixes.
- Properly detect FDR10, FDR, and EDR OpenFabrics devices.
- Minor fixes to the mpirun(1) and MPI_Comm_create(3) man pages.
- Prevent segv if COMM_SPAWN_MULTIPLE fails. Thanks to Fujitsu for
the patch.
- Disable interposed memory management in fakeroot environments. This
fixes a problem in some build environments.
- Minor hwloc updates.
- Array versions of MPI_TEST and MPI_WAIT with a count==0 will now
return immediately with MPI_SUCCESS. Thanks to Jeremiah Willcock
for the suggestion.
- Update VampirTrace to v5.12.2.
- Properly handle forwarding stdin to all processes when "mpirun
--stdin all" is used.
- Workaround XLC assembly bug.
- OS X Tiger (10.4) has not been supported for a while, so forcibly
abort configure if we detect it.
- Fix segv in the openib BTL when running on SPARC 64 systems.
- Fix some include file ordering issues on some BSD-based platforms.
Thanks to Paul Hargove for this (and many, many other) fixes.
- Properly handle .FALSE. return parameter value to attribute copy
callback functions.
- Fix a bunch of minor C++ API issues; thanks to Fujitsu for the patch.
- Fixed the default hostfile MCA parameter behavior.
- Per the MPI spec, ensure not to touch the port_name parameter to
MPI_CLOSE_PORT (it's an IN parameter).
1.5.5
-----
- Many, many portability configure/build fixes courtesy of Paul
Hargrove. Thanks, Paul!
- Fixed shared memory fault tolerance support compiler errors.
- Removed not-production-quality rshd and tmd PLM launchers.
- Minor updates to the Open MPI SRPM spec file.
- Fixed mpirun's --bind-to-socket option.
- A few MPI_THREAD_MULTIPLE fixes in the shared memory BTL.
- Upgrade the GNU Autotools used to bootstrap the 1.5/1.6 series to
all the latest versions at the time of this release.
- Categorically state in the README that if you're having a problem
with Open MPI with the Linux Intel 12.1 compilers, *upgrade your
Intel Compiler Suite to the latest patch version*, and the problems
will go away. :-)
- Fix the --without-memory-manager configure option.
- Fixes for Totalview/DDT MPI-capable debuggers.
- Update rsh/ssh support to properly handle the Mac OS X library path
(i.e., DYLD_LIBRARY_PATH).
- Make warning about shared memory backing files on a networked file
system be optional (i.e., can be disabled via MCA parameter).
- Several fixes to processor and memory affinity.
- Various shared memory infrastructure improvements.
- Various checkpoint/restart fixes.
- Fix MPI_IN_PLACE (and other MPI sentinel values) on OS X. Thanks to
Dave Goodell for providing the magic OS X gcc linker flags necessary.
- Various man page corrections and typo fixes. Thanks to Fujitsu for
the patch.
- Updated wrapper compiler man pages to list the various --showme
options that are available.
- Add PMI direct-launch support (e.g., "srun mpi_application" under
SLURM).
- Correctly compute the aligned address when packing the
datatype description. Thanks to Fujitsu for the patch.
- Fix MPI obscure corner case handling in packing MPI datatypes.
Thanks to Fujitsu for providing the patch.
- Workaround an Intel compiler v12.1.0 2011.6.233 vector optimization
bug.
- Output the MPI API in ompi_info output.
- Major VT update to 5.12.1.4.
- Upgrade embedded Hardware Locality (hwloc) v1.3.2, plus some
post-1.3.2-release bug fixes. All processor and memory binding is
now done through hwloc. Woo hoo! Note that this fixes core binding
on AMD Opteron 6200 and 4200 series-based systems (sometimes known
as Interlagos, Valencia, or other Bulldozer-based chips).
- New MCA parameters to control process-wide memory binding policy:
hwloc_base_mem_alloc_policy, hwloc_base_mem_bind_failure_action (see
ompi_info --param hwloc base).
- Removed direct support for libnuma. Libnuma support may now be
picked up through hwloc.
- Added MPI_IN_PLACE support to MPI_EXSCAN.
- Various fixes for building on Windows, including MinGW support.
- Removed support for the OpenFabrics IBCM connection manager.
- Updated Chelsio T4 and Intel NE OpenFabrics default buffer settings.
- Increased the default RDMA CM timeout to 30 seconds.
- Issue a warning if both btl_tcp_if_include and btl_tcp_if_exclude
are specified.
- Many fixes to the Mellanox MXM transport.
1.5.4
-----
- Add support for the (as yet unreleased) Mellanox MXM transport.
- Add support for dynamic service levels (SLs) in the openib BTL.
- Fixed C++ bindings cosmetic/warnings issue with
MPI::Comm::NULL_COPY_FN and MPI::Comm::NULL_DELETE_FN. Thanks to
Júlio Hoffimann for identifying the issues.
- Also allow the word "slots" in rankfiles (i.e., not just "slot").
(** also to appear in 1.4.4)
- Add Mellanox ConnectX 3 device IDs to the openib BTL defaults.
(** also to appear in 1.4.4)
- Various FCA updates.
- Fix 32 bit SIGBUS errors on Solaris SPARC platforms.
- Add missing ARM assembly code files.
- Update to allow more than 128 entries in an appfile.
(** also to appear in 1.4.4)
- Various VT updates and bug fixes.
- Update description of btl_openib_cq_size to be more accurate.
(** also to appear in 1.4.4)
- Various assembly "clobber" fixes.
- Fix a hang in carto selection in obscure situations.
- Guard the inclusion of execinfo.h since not all platforms have it. Thanks
to Aleksej Saushev for identifying this issue.
(** also to appear in 1.4.4)
- Support Solaris legacy munmap prototype changes.
(** also to appear in 1.4.4)
- Updated to Automake 1.11.1 per
http://www.open-mpi.org/community/lists/devel/2011/07/9492.php.
- Fix compilation of LSF support.
- Update MPI_Comm_spawn_multiple.3 man page to reflect what it
actually does.
- Fix for possible corruption of the environment. Thanks to Peter
Thompson for the suggestion. (** also to appear in 1.4.4)
- Enable use of PSM on direct-launch SLURM jobs.
- Update paffinity hwloc to v1.2, and to fix minor bugs affinity
assignment bugs on PPC64/Linux platforms.
- Let the openib BTL auto-detect its bandwidth.
- Support new MPI-2.2 datatypes.