@@ -8,7 +8,7 @@ Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
8
8
University of Stuttgart. All rights reserved.
9
9
Copyright (c) 2004-2005 The Regents of the University of California.
10
10
All rights reserved.
11
- Copyright (c) 2008-2015 Cisco Systems, Inc. All rights reserved.
11
+ Copyright (c) 2008-2016 Cisco Systems, Inc. All rights reserved.
12
12
Copyright (c) 2013 Intel, Inc. All rights reserved.
13
13
$COPYRIGHT$
14
14
@@ -24,60 +24,34 @@ source code form, most likely through a developer's tree (i.e., a
24
24
Git clone).
25
25
26
26
27
- Debugging vs. Optimized Builds
28
- ==============================
29
-
30
- If you are building Open MPI from a Git clone, the default build
31
- includes a lot of debugging features. This happens automatically when
32
- when configure detects the hidden ".git" Git meta directory (that is
33
- present in all Git clones) in your source tree, and therefore
34
- activates a number of developer-only debugging features in the Open
35
- MPI code base.
36
-
37
- By definition, debugging builds will perform [much] slower than
38
- optimized builds of Open MPI. You should *NOT* conduct timing tests
39
- or try to run production performance numbers with debugging builds.
40
-
41
- If you wish to build an optimized version of Open MPI from a
42
- developer's checkout, you have three main options:
43
-
44
- 1. Use the "--with-platform=optimized" switch to configure. This is
45
- the preferred (and probably easiest) method. For example:
46
-
47
- shell$ git clone
[email protected] :open-mpi/ompi.git
48
- shell$ cd ompi
49
- shell$ ./autogen.pl
50
- shell$ mkdir build
51
- shell$ cd build
52
- shell$ ../configure --with-platform=optimized ...
53
- [...lots of output...]
54
- shell$ make all install
55
-
56
- 2. Use a VPATH build. Simply build Open MPI from a different
57
- directory than the source tree -- one where the .git subdirectory
58
- is not present. For example:
59
-
60
- shell$ git clone
[email protected] :open-mpi/ompi.git
61
- shell$ cd ompi
62
- shell$ ./autogen.pl
63
- shell$ mkdir build
64
- shell$ cd build
65
- shell$ ../configure ...
66
- [...lots of output...]
67
- shell$ make all install
68
-
69
- 3. Manually specify configure options to disable all the debugging
70
- options (note that this is exactly what "--with-platform=optimized"
71
- does behind the scenes). You'll need to carefully examine the
72
- output of "./configure --help" to see which options to disable.
73
- They are all listed, but some are less obvious than others (they
74
- are not listed here because it is a changing set of flags; by
75
- Murphy's Law, listing them here will pretty much guarantee that
76
- this file will get out of date):
77
-
78
- shell$ ./configure --disable-debug ...
79
- [...lots of output...]
80
- shell$ make all install
27
+ Developer Builds: Compiler Pickyness by Default
28
+ ===============================================
29
+
30
+ If you are building Open MPI from a Git clone (i.e., there is a ".git"
31
+ directory in your build tree), the default build includes extra
32
+ compiler pickyness, which will result in more compiler warnings than
33
+ in non-developer builds. Getting these extra compiler warnings is
34
+ helpful to Open MPI developers in making the code base as clean as
35
+ possible.
36
+
37
+ Developers can disable this picky-by-default behavior by using the
38
+ --disable-picky configure option. Also note that extra-picky compiles
39
+ do *not* happen automatically when you do a VPATH build (e.g., if
40
+ ".git" is in your source tree, but not in your build tree).
41
+
42
+ Prior versions of Open MPI would automatically activate a lot of
43
+ (performance-reducing) debugging code by default if ".git" was found
44
+ in your build tree. This is no longer true. You can manually enable
45
+ these (performance-reducing) debugging features in the Open MPI code
46
+ base with these configure options:
47
+
48
+ --enable-debug
49
+ --enable-mem-debug
50
+ --enable-mem-profile
51
+
52
+ NOTE: These options are really only relevant to those who are
53
+ developing Open MPI itself. They are not generally helpful for
54
+ debugging general MPI applications.
81
55
82
56
83
57
Use of GNU Autoconf, Automake, and Libtool (and m4)
0 commit comments