impi-devel 2021.17.1__py2.py3-none-manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. impi_devel-2021.17.1.data/data/bin/mpicc +81 -0
  2. impi_devel-2021.17.1.data/data/bin/mpicxx +81 -0
  3. impi_devel-2021.17.1.data/data/bin/mpif77 +740 -0
  4. impi_devel-2021.17.1.data/data/bin/mpif90 +884 -0
  5. impi_devel-2021.17.1.data/data/bin/mpifc +81 -0
  6. impi_devel-2021.17.1.data/data/bin/mpigcc +683 -0
  7. impi_devel-2021.17.1.data/data/bin/mpigxx +687 -0
  8. impi_devel-2021.17.1.data/data/bin/mpiicc +42 -0
  9. impi_devel-2021.17.1.data/data/bin/mpiicpc +42 -0
  10. impi_devel-2021.17.1.data/data/bin/mpiicpx +573 -0
  11. impi_devel-2021.17.1.data/data/bin/mpiicx +582 -0
  12. impi_devel-2021.17.1.data/data/bin/mpiifort +46 -0
  13. impi_devel-2021.17.1.data/data/bin/mpiifx +738 -0
  14. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi.mod +0 -0
  15. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_base.mod +0 -0
  16. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_constants.mod +0 -0
  17. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_sizeofs.mod +0 -0
  18. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/pmpi_base.mod +0 -0
  19. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi.mod +0 -0
  20. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_base.mod +0 -0
  21. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_constants.mod +0 -0
  22. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_sizeofs.mod +0 -0
  23. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/pmpi_base.mod +0 -0
  24. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi.mod +0 -0
  25. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_base.mod +0 -0
  26. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_constants.mod +0 -0
  27. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_sizeofs.mod +0 -0
  28. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/pmpi_base.mod +0 -0
  29. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi.mod +0 -0
  30. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_base.mod +0 -0
  31. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_constants.mod +0 -0
  32. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_sizeofs.mod +0 -0
  33. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/pmpi_base.mod +0 -0
  34. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi.mod +0 -0
  35. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_base.mod +0 -0
  36. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_constants.mod +0 -0
  37. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_sizeofs.mod +0 -0
  38. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/pmpi_base.mod +0 -0
  39. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi.mod +0 -0
  40. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_base.mod +0 -0
  41. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_constants.mod +0 -0
  42. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_sizeofs.mod +0 -0
  43. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/pmpi_base.mod +0 -0
  44. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi.mod +0 -0
  45. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_base.mod +0 -0
  46. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_constants.mod +0 -0
  47. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_sizeofs.mod +0 -0
  48. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/pmpi_base.mod +0 -0
  49. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi.mod +0 -0
  50. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_base.mod +0 -0
  51. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_constants.mod +0 -0
  52. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_sizeofs.mod +0 -0
  53. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/pmpi_base.mod +0 -0
  54. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi.mod +0 -0
  55. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_base.mod +0 -0
  56. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_constants.mod +0 -0
  57. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_sizeofs.mod +0 -0
  58. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/pmpi_base.mod +0 -0
  59. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi.mod +0 -0
  60. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_base.mod +0 -0
  61. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_constants.mod +0 -0
  62. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_sizeofs.mod +0 -0
  63. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/pmpi_base.mod +0 -0
  64. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi.mod +0 -0
  65. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_base.mod +0 -0
  66. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_constants.mod +0 -0
  67. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_sizeofs.mod +0 -0
  68. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/pmpi_base.mod +0 -0
  69. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi.mod +0 -0
  70. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_base.mod +0 -0
  71. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_constants.mod +0 -0
  72. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_sizeofs.mod +0 -0
  73. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/pmpi_base.mod +0 -0
  74. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi.mod +0 -0
  75. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_base.mod +0 -0
  76. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_constants.mod +0 -0
  77. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_sizeofs.mod +0 -0
  78. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/pmpi_base.mod +0 -0
  79. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi.mod +0 -0
  80. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_base.mod +0 -0
  81. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_constants.mod +0 -0
  82. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_sizeofs.mod +0 -0
  83. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/pmpi_base.mod +0 -0
  84. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi.mod +0 -0
  85. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_base.mod +0 -0
  86. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_constants.mod +0 -0
  87. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_sizeofs.mod +0 -0
  88. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/pmpi_base.mod +0 -0
  89. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi.mod +0 -0
  90. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_base.mod +0 -0
  91. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_constants.mod +0 -0
  92. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_sizeofs.mod +0 -0
  93. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/pmpi_base.mod +0 -0
  94. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi.mod +0 -0
  95. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_base.mod +0 -0
  96. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_constants.mod +0 -0
  97. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_sizeofs.mod +0 -0
  98. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/pmpi_base.mod +0 -0
  99. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi.mod +0 -0
  100. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_base.mod +0 -0
  101. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_constants.mod +0 -0
  102. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_sizeofs.mod +0 -0
  103. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/pmpi_base.mod +0 -0
  104. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi.mod +0 -0
  105. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_base.mod +0 -0
  106. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_constants.mod +0 -0
  107. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_sizeofs.mod +0 -0
  108. impi_devel-2021.17.1.data/data/include/mpi/ilp64/pmpi_base.mod +0 -0
  109. impi_devel-2021.17.1.data/data/include/mpi/mpi.mod +0 -0
  110. impi_devel-2021.17.1.data/data/include/mpi/mpi_base.mod +0 -0
  111. impi_devel-2021.17.1.data/data/include/mpi/mpi_constants.mod +0 -0
  112. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08.mod +0 -0
  113. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_callbacks.mod +0 -0
  114. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_compile_constants.mod +0 -0
  115. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_link_constants.mod +0 -0
  116. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_types.mod +0 -0
  117. impi_devel-2021.17.1.data/data/include/mpi/mpi_sizeofs.mod +0 -0
  118. impi_devel-2021.17.1.data/data/include/mpi/pmpi_base.mod +0 -0
  119. impi_devel-2021.17.1.data/data/include/mpi/pmpi_f08.mod +0 -0
  120. impi_devel-2021.17.1.data/data/include/mpi.h +4224 -0
  121. impi_devel-2021.17.1.data/data/include/mpi_abi.h +2057 -0
  122. impi_devel-2021.17.1.data/data/include/mpicxx.h +2796 -0
  123. impi_devel-2021.17.1.data/data/include/mpif.h +651 -0
  124. impi_devel-2021.17.1.data/data/include/mpio.h +767 -0
  125. impi_devel-2021.17.1.data/data/include/mpiof.h +113 -0
  126. impi_devel-2021.17.1.data/data/opt/mpi/bin/mpiptx +0 -0
  127. impi_devel-2021.17.1.data/data/share/doc/mpi/licensing/license.txt +72 -0
  128. impi_devel-2021.17.1.data/data/share/doc/mpi/licensing/third-party-programs.txt +1476 -0
  129. impi_devel-2021.17.1.dist-info/LICENSE.txt +25 -0
  130. impi_devel-2021.17.1.dist-info/METADATA +23 -0
  131. impi_devel-2021.17.1.dist-info/RECORD +133 -0
  132. impi_devel-2021.17.1.dist-info/WHEEL +6 -0
  133. impi_devel-2021.17.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,687 @@
1
+ #! /bin/sh
2
+ #
3
+ # Copyright Intel Corporation.
4
+ #
5
+ # This software and the related documents are Intel copyrighted materials, and
6
+ # your use of them is governed by the express license under which they were
7
+ # provided to you (License). Unless the License provides otherwise, you may
8
+ # not use, modify, copy, publish, distribute, disclose or transmit this
9
+ # software or the related documents without Intel's prior written permission.
10
+ #
11
+ # This software and the related documents are provided as is, with no express
12
+ # or implied warranties, other than those that are expressly stated in the
13
+ # License.
14
+ ##
15
+ ## Copyright (C) by Argonne National Laboratory
16
+ #
17
+ # COPYRIGHT
18
+ #
19
+ # The following is a notice of limited availability of the code, and disclaimer
20
+ # which must be included in the prologue of the code and in all source listings
21
+ # of the code.
22
+ #
23
+ # Copyright Notice
24
+ # 1998--2020, Argonne National Laboratory
25
+ #
26
+ # Permission is hereby granted to use, reproduce, prepare derivative works, and
27
+ # to redistribute to others. This software was authored by:
28
+ #
29
+ # Mathematics and Computer Science Division
30
+ # Argonne National Laboratory, Argonne IL 60439
31
+ #
32
+ # (and)
33
+ #
34
+ # Department of Computer Science
35
+ # University of Illinois at Urbana-Champaign
36
+ #
37
+ #
38
+ # GOVERNMENT LICENSE
39
+ #
40
+ # Portions of this material resulted from work developed under a U.S.
41
+ # Government Contract and are subject to the following license: the Government
42
+ # is granted for itself and others acting on its behalf a paid-up, nonexclusive,
43
+ # irrevocable worldwide license in this computer software to reproduce, prepare
44
+ # derivative works, and perform publicly and display publicly.
45
+ #
46
+ # DISCLAIMER
47
+ #
48
+ # This computer code material was prepared, in part, as an account of work
49
+ # sponsored by an agency of the United States Government. Neither the United
50
+ # States, nor the University of Chicago, nor any of their employees, makes any
51
+ # warranty express or implied, or assumes any legal liability or responsibility
52
+ # for the accuracy, completeness, or usefulness of any information, apparatus,
53
+ # product, or process disclosed, or represents that its use would not infringe
54
+ # privately owned rights.
55
+ #
56
+ # EXTERNAL CONTRIBUTIONS
57
+ #
58
+ # Portions of this code have been contributed under the above license by:
59
+ #
60
+ # * Intel Corporation
61
+ # * Cray
62
+ # * IBM Corporation
63
+ # * Microsoft Corporation
64
+ # * Mellanox Technologies Ltd.
65
+ # * DataDirect Networks.
66
+ # * Oak Ridge National Laboratory
67
+ # * Sun Microsystems, Lustre group
68
+ # * Dolphin Interconnect Solutions Inc.
69
+ # * Institut Polytechnique de Bordeaux
70
+ #
71
+ ##
72
+ ##
73
+
74
+ # Simple script to compile and/or link MPI programs.
75
+ # This script knows the default flags and libraries, and can handle
76
+ # alternative C++ compilers and the associated flags and libraries.
77
+ # The important terms are:
78
+ # includedir, libdir - Directories containing an *installed* mpich
79
+ # prefix, execprefix - Often used to define includedir and libdir
80
+ # CXX - C compiler
81
+ # WRAPPER_CXXFLAGS - Any special flags needed to compile
82
+ # WRAPPER_LDFLAGS - Any special flags needed to link
83
+ # WRAPPER_LIBS - Any special libraries needed in order to link
84
+ #
85
+ # We assume that (a) the C++ compiler can both compile and link programs
86
+ #
87
+ # Handling of command-line options:
88
+ # This is a little tricky because some options may contain blanks.
89
+ #
90
+ # Special issues with shared libraries - todo
91
+ #
92
+ # --------------------------------------------------------------------------
93
+ # Set the default values of all variables.
94
+ #
95
+ # Directory locations: Fixed for any MPI implementation
96
+ prefix=I_MPI_SUBSTITUTE_INSTALLDIR
97
+ # The environment variable I_MPI_ROOT may be used to override installation folder path
98
+ if [ -n "${I_MPI_ROOT}" ] ; then
99
+ prefix="${I_MPI_ROOT}";
100
+ fi
101
+
102
+ exec_prefix=__EXEC_PREFIX_TO_BE_FILLED_AT_INSTALL_TIME__
103
+ sysconfdir=${prefix}/etc
104
+ includedir=${prefix}/include
105
+ libdir=${prefix}/lib
106
+
107
+ if [ ! -f "${prefix}/lib/mpi/debug/libmpi.so" ]; then
108
+ release_lib_dir="/release"
109
+ debug_lib_dir="/debug"
110
+ else
111
+ sysconfdir=${prefix}/opt/mpi/etc
112
+ release_lib_dir=""
113
+ debug_lib_dir="/mpi/debug"
114
+ fi
115
+ MPILIBDIR=${release_lib_dir}
116
+ # The environment variable I_MPI_COMPILER_CONFIG_DIR may be used to override
117
+ # folder where *.conf files are placed
118
+ if [ -n "$I_MPI_COMPILER_CONFIG_DIR" ] ; then
119
+ sysconfdir=$I_MPI_COMPILER_CONFIG_DIR;
120
+ fi
121
+
122
+ # Default settings for compiler, flags, and libraries
123
+ CXX="g++"
124
+ MPICH_VERSION="3.4a2"
125
+ CXXFLAGS=""
126
+ MPIVERSION="2021.17"
127
+ MPILIBNAME="mpi"
128
+ MPICXXLIBNAME="mpicxx"
129
+
130
+
131
+ # How to pass a linker flag through the compiler.
132
+ wl="-Wl,"
133
+
134
+ # Static library suffix (normally "a").
135
+ libext="a"
136
+
137
+ # Shared library suffix (normally "so").
138
+ shlibext="so"
139
+
140
+ # Format of library name prefix.
141
+ libname_spec="lib\$name"
142
+
143
+ # Library names that the linker finds when passed -lNAME.
144
+ library_names_spec="\$libname\$shrext"
145
+
146
+ # Flag to hardcode $libdir into a binary during linking.
147
+ # This must work even if $libdir does not exist.
148
+ hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
149
+
150
+ # Flag to add dtags to allow using runpath instead of rpath
151
+ enable_dtags_flag="-Wl,--enable-new-dtags"
152
+ disable_dtags_flag="-Wl,--disable-new-dtags"
153
+
154
+ # Whether we need a single -rpath flag with a separated argument.
155
+ hardcode_libdir_separator=""
156
+
157
+ # Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
158
+ # resulting binary.
159
+ hardcode_direct="no"
160
+
161
+ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the
162
+ # resulting binary.
163
+ hardcode_minus_L="no"
164
+
165
+
166
+ strip_debug_info=
167
+ handle_executable=
168
+ fortran_binding=
169
+ executable=a.out
170
+ static_log=yes
171
+ ilp64=no
172
+ trace_opt=no
173
+ no_rpath=no
174
+ mpi_abi=no
175
+ # Attempt to construct dynamic loading info, based on the user
176
+ # preference of rpath, runpath or none and on the detected libdir
177
+ # flags.
178
+ with_wrapper_dl_type=no
179
+ if test "X${with_wrapper_dl_type}" = "Xrunpath" ; then
180
+ eval wrapper_dl_type_flags=\"${hardcode_libdir_flag_spec} ${enable_dtags_flag}\"
181
+ elif test "X${with_wrapper_dl_type}" = "Xrpath" ; then
182
+ eval wrapper_dl_type_flags=\"${hardcode_libdir_flag_spec} ${disable_dtags_flag}\"
183
+ else
184
+ wrapper_dl_type_flags=""
185
+ fi
186
+
187
+ # Internal variables
188
+ # Show is set to echo to cause the compilation command to be echoed instead
189
+ # of executed.
190
+ Show=eval
191
+ #
192
+ # End of initialization of variables
193
+ #---------------------------------------------------------------------
194
+ # Environment Variables.
195
+ # The environment variables I_MPI_CXX, MPICH_CXX may be used to override the
196
+ # default choices. I_MPI_CXX has higher priority than MPICH_CXX.
197
+ # In addition, if there is a file $sysconfdir/mpicxx-$CXXname.conf,
198
+ # where CXXname is the name of the compiler with all spaces replaced by hyphens
199
+ # (e.g., "CC -64" becomes "CC--64", that file is sources, allowing other
200
+ # changes to the compilation environment. See the variables used by the
201
+ # script (defined above)
202
+ # Added MPICH_CXX_OLD, MPICH_CXX can be used to prefix CXX
203
+ # with external utility, e.g. setenv MPICH_CXX 'eval linkcache $MPICH_CXX_OLD'
204
+ if [ -n "$I_MPI_CXXFLAGS" ] ; then
205
+ CXXFLAGS=" "$I_MPI_CXXFLAGS
206
+ fi
207
+ if [ -n "$I_MPI_LDFLAGS" ] ; then
208
+ LDFLAGS=" -ldl "$I_MPI_LDFLAGS
209
+ fi
210
+ if [ -n "$I_MPI_CXX" ] ; then
211
+ CXX="$I_MPI_CXX"
212
+
213
+ CXXname=`echo $CXX | sed 's/ /-/g'`
214
+ if [ -s $sysconfdir/mpicxx-$(basename $CXXname).conf ] ; then
215
+ . $sysconfdir/mpicxx-$(basename $CXXname).conf
216
+ fi
217
+ else
218
+ if [ -n "$MPICH_CXX" ] ; then
219
+ CXX="$MPICH_CXX"
220
+ CXXname=`echo $CXX | sed 's/ /-/g'`
221
+ if [ -s $sysconfdir/mpicxx-$(basename $CXXname).conf ] ; then
222
+ . $sysconfdir/mpicxx-$(basename $CXXname).conf
223
+ fi
224
+ fi
225
+ fi
226
+ if [ -n "$I_MPI_DEBUG_INFO_STRIP" ] ; then
227
+ for comp_val in "0" "off" "no" "disable"
228
+ do
229
+ if [ "$I_MPI_DEBUG_INFO_STRIP" = "$comp_val" ] ; then
230
+ strip_debug_info=no
231
+ break
232
+ fi
233
+ done
234
+ fi
235
+ if [ -n "$I_MPI_FORT_BIND" ] ; then
236
+ for comp_val in "0" "off" "no" "disable"
237
+ do
238
+ if [ "$I_MPI_FORT_BIND" = "$comp_val" ] ; then
239
+ fortran_binding=no
240
+ break
241
+ fi
242
+ done
243
+ fi
244
+ # Allow a profiling option to be selected through an environment variable
245
+ if [ -n "$MPICXX_PROFILE" ] ; then
246
+ profConf=$MPICXX_PROFILE
247
+ fi
248
+ if [ -n "$I_MPI_CXX_PROFILE" ] ; then
249
+ profConf=$I_MPI_CXX_PROFILE
250
+ fi
251
+
252
+ # Override default mpi library
253
+ if [ -n "$I_MPI_LINK" ] ; then
254
+ mpilib_override=$I_MPI_LINK
255
+ fi
256
+ #
257
+ # ------------------------------------------------------------------------
258
+ # Argument processing.
259
+ # This is somewhat awkward because of the handling of arguments within
260
+ # the shell. We want to handle arguments that include spaces without
261
+ # loosing the spacing (an alternative would be to use a more powerful
262
+ # scripting language that would allow us to retain the array of values,
263
+ # which the basic (rather than enhanced) Bourne shell does not.
264
+ #
265
+ # Look through the arguments for arguments that indicate compile only.
266
+ # If these are *not* found, add the library options
267
+
268
+ linking=yes
269
+ allargs=""
270
+ argno=0
271
+ interlib_deps=yes
272
+ static_mpi=no
273
+ for arg in "$@" ; do
274
+ # Set addarg to no if this arg should be ignored by the C compiler
275
+ addarg=yes
276
+ qarg=$arg
277
+ if [ "x$handle_executable" = "xyes" ] ; then
278
+ executable=$arg
279
+ handle_executable=
280
+ fi
281
+ case "$arg" in
282
+ # ----------------------------------------------------------------
283
+ # Compiler options that affect whether we are linking or no
284
+ -c|-S|-E|-M|-MM)
285
+ # The compiler links by default
286
+ linking=no
287
+ ;;
288
+ -o )
289
+ handle_executable=yes
290
+ addarg=yes
291
+ ;;
292
+ # ----------------------------------------------------------------
293
+ # Options that control how we use mpicxx (e.g., -show,
294
+ # -cxx=* -config=*
295
+ -static)
296
+ interlib_deps=no
297
+ static_log=yes
298
+ static_mpi=yes
299
+ CXXFLAGS="$CXXFLAGS -Xlinker --export-dynamic"
300
+ addarg=yes
301
+ ;;
302
+ -static-mpi)
303
+ interlib_deps=no
304
+ static_mpi=yes
305
+ CXXFLAGS="$CXXFLAGS -Xlinker --export-dynamic"
306
+ addarg=no
307
+ ;;
308
+ -echo)
309
+ addarg=no
310
+ set -x
311
+ ;;
312
+ -cxx=*)
313
+ CXX=`echo A$arg | sed -e 's/A-cxx=//g'`
314
+ addarg=no
315
+ ;;
316
+ # Backwards compatibility for MPICH1 - scripts
317
+ -CC=*)
318
+ CXX=`echo A$arg | sed -e 's/A-CC=//g'`
319
+ addarg=no
320
+ ;;
321
+ -show)
322
+ addarg=no
323
+ Show=echo
324
+ ;;
325
+ -config=*)
326
+ addarg=no
327
+ CXXname=`echo A$arg | sed -e 's/A-config=//g'`
328
+ if [ -s "$sysconfdir/mpicxx-$CXXname.conf" ] ; then
329
+ . "$sysconfdir/mpicxx-$CXXname.conf"
330
+ else
331
+ echo "Configuration file mpicxx-$CXXname.conf not found"
332
+ fi
333
+ ;;
334
+ -compile-info|-compile_info)
335
+ # -compile_info included for backward compatibility
336
+ Show=echo
337
+ addarg=no
338
+ ;;
339
+ -link-info|-link_info)
340
+ # -link_info included for backward compatibility
341
+ Show=echo
342
+ addarg=no
343
+ ;;
344
+ -v)
345
+ # Pass this argument to the compiler as well.
346
+ echo "$(basename $0) for the Intel(R) MPI Library $MPIVERSION for Linux*"
347
+ echo "Copyright Intel Corporation."
348
+ # if there is only 1 argument, it must be -v.
349
+ if [ "$#" -eq "1" ] ; then
350
+ linking=no
351
+ fi
352
+ ;;
353
+ -profile=*)
354
+ # Pass the name of a profiling configuration. As
355
+ # a special case, lib<name>.so or lib<name>.la may be used
356
+ # if the library is in $libdir
357
+ profConf=`echo A$arg | sed -e 's/A-profile=//g'`
358
+ addarg=no
359
+ # Loading the profConf file is handled below
360
+ ;;
361
+ -mpi-abi|-mpi_abi)
362
+ mpi_abi=yes
363
+ addarg=no
364
+ ;;
365
+ -help)
366
+ # Print mini-help if started without parameters
367
+ echo "Simple script to compile and/or link MPI programs."
368
+ echo "Usage: `basename $0` [options] <files>"
369
+ echo "----------------------------------------------------------------------------"
370
+ echo "The following options are supported:"
371
+ echo " -cxx=<name> specify a C++ compiler name: i.e. -cxx=g++"
372
+ echo " -echo print the scripts during their execution"
373
+ echo " -show show command lines without real calling"
374
+ echo " -config=<name> specify a configuration file: i.e. -config=g++ for mpicc-g++.conf file"
375
+ echo " -v print version info of $(basename $0) and its native compiler"
376
+ echo " -profile=<name> specify a profile configuration file (an MPI profiling"
377
+ echo " library): i.e. -profile=myprofile for the myprofile.cfg file."
378
+ echo " As a special case, lib<name>.so or lib<name>.a may be used"
379
+ echo " if the library is found"
380
+ echo " -check_mpi link against the Intel(R) Trace Collector (-profile=vtmc)."
381
+ echo " -static_mpi link the Intel(R) MPI Library statically"
382
+ echo " -mt_mpi link the thread safe version of the Intel(R) MPI Library"
383
+ echo " -ilp64 link the ILP64 support of the Intel(R) MPI Library"
384
+ echo " -t or -trace"
385
+ echo " link against the Intel(R) Trace Collector"
386
+ echo " -trace-imbalance"
387
+ echo " link against the Intel(R) Trace Collector imbalance library"
388
+ echo " (-profile=vtim)"
389
+ echo " -static use static linkage method"
390
+ echo " -nostrip turn off the debug information stripping during static linking"
391
+ echo " -nofortran or -nofortbind"
392
+ echo " disable the linkage Fortran bindings"
393
+ echo " -dynamic_log link against the Intel(R) Trace Collector dynamically"
394
+ echo " -O enable optimization"
395
+ echo " -link_mpi=<name>"
396
+ echo " link against the specified version of the Intel(R) MPI Library"
397
+ echo " i.e -link_mpi=opt|opt_mt|dbg|dbg_mt"
398
+ echo " -norpath disable rpath for compiler wrapper of the Intel(R) MPI Library"
399
+ echo " -mpi-abi Compile and link using the standard MPI-5.0 ABI."
400
+ echo "All other options will be passed to the compiler without changing."
401
+ echo "----------------------------------------------------------------------------"
402
+ echo "The following environment variables are used:"
403
+ echo " I_MPI_ROOT the Intel(R) MPI Library installation directory path"
404
+ echo " I_MPI_CXX or MPICH_CXX"
405
+ echo " the path/name of the underlying compiler to be used"
406
+ echo " I_MPI_CXX_PROFILE or MPICXX_PROFILE"
407
+ echo " the name of profile file (without extension)"
408
+ echo " I_MPI_COMPILER_CONFIG_DIR"
409
+ echo " the folder which contains configuration files *.conf"
410
+ echo " I_MPI_TRACE_PROFILE"
411
+ echo " specify a default profile for the -trace option"
412
+ echo " I_MPI_CHECK_PROFILE"
413
+ echo " specify a default profile for the -check_mpi option"
414
+ echo " I_MPI_LINK specify the version of the Intel(R) MPI Library"
415
+ echo " I_MPI_DEBUG_INFO_STRIP"
416
+ echo " turn on/off the debug information stripping during static linking"
417
+ echo " I_MPI_CXXFLAGS"
418
+ echo " special flags needed for compilation"
419
+ echo " I_MPI_LDFLAGS "
420
+ echo " special flags needed for linking"
421
+ echo " I_MPI_FORT_BIND"
422
+ echo " disable the linkage Fortran bindings"
423
+ echo "----------------------------------------------------------------------------"
424
+ exit 0
425
+ ;;
426
+ -nolinkage)
427
+ # This internal option is used by wrapper driver scripts mpicc, mpicxx, mpifc when -v option is used.
428
+ linking=no
429
+ addarg=no
430
+ ;;
431
+ -g)
432
+ MPILIBDIR=${release_lib_dir}
433
+ ;;
434
+ -static_log)
435
+ static_log=yes
436
+ addarg=no
437
+ ;;
438
+ -dynamic_log)
439
+ static_log=no
440
+ addarg=no
441
+ ;;
442
+ -mt_mpi)
443
+ addarg=no
444
+ ;;
445
+ -ilp64)
446
+ ilp64=yes
447
+ addarg=no
448
+ ;;
449
+ -check_mpi)
450
+ if [ -z "$profConf" ]; then
451
+ if [ -z "$I_MPI_CHECK_PROFILE" ]; then
452
+ profConf="vtmc"
453
+ else
454
+ profConf="$I_MPI_CHECK_PROFILE"
455
+ fi
456
+ else
457
+ echo "Warning: the -check_mpi option will be ignored because the profile was set."
458
+ fi
459
+ addarg=no
460
+ ;;
461
+ -trace-imbalance)
462
+ if [ -z "$profConf" ]; then
463
+ profConf="vtim"
464
+ else
465
+ echo "Warning: the -trace-imbalance option will be ignored because the profile was set."
466
+ fi
467
+ addarg=no
468
+ ;;
469
+ -t | -trace | -t=* | -trace=* )
470
+ if [ -z "$profConf" ]; then
471
+ if [ -z "$I_MPI_TRACE_PROFILE" ]; then
472
+ profConf="vt"
473
+ else
474
+ profConf="$I_MPI_TRACE_PROFILE"
475
+ fi
476
+ else
477
+ echo "Warning: the -trace option will be ignored because the profile was set."
478
+ fi
479
+ addarg=no
480
+ ;;
481
+ -nativelinking)
482
+ # Internal option to use native compiler for linking without MPI libraries
483
+ nativelinking=yes
484
+ addarg=no
485
+ ;;
486
+ -link_mpi=* )
487
+ mpilib_override=`echo A$arg | sed -e 's/A-link_mpi=//g'`
488
+ addarg=no
489
+ ;;
490
+ -mmic )
491
+ addarg=no
492
+ ;;
493
+ -nostrip )
494
+ strip_debug_info=no
495
+ addarg=no
496
+ ;;
497
+ -nofortran | -nofortbind )
498
+ fortran_binding=no
499
+ ;;
500
+ -norpath )
501
+ no_rpath=yes
502
+ addarg=no
503
+ ;;
504
+ # Other arguments. We are careful to handle arguments with
505
+ # quotes (we try to quote all arguments in case they include
506
+ # any spaces)
507
+ *\"*)
508
+ qarg="'"$arg"'"
509
+ ;;
510
+ *\'*)
511
+ qarg=`echo \"$arg\"`
512
+ ;;
513
+ *)
514
+ qarg="'$arg'"
515
+ ;;
516
+ esac
517
+ if [ $addarg = yes ] ; then
518
+ allargs="$allargs $qarg"
519
+ fi
520
+ done
521
+
522
+ if [ $# -eq 0 ] ; then
523
+ echo "Error: Command line argument is needed!"
524
+ "$0" -help
525
+ exit 1
526
+ fi
527
+
528
+ if [ -n "$mpilib_override" ] ; then
529
+ case "$mpilib_override" in
530
+ opt )
531
+ MPILIBDIR=${release_lib_dir}
532
+ ;;
533
+ opt_mt )
534
+ MPILIBDIR=${release_lib_dir}
535
+ ;;
536
+ dbg )
537
+ MPILIBDIR=${debug_lib_dir}
538
+ ;;
539
+ dbg_mt )
540
+ MPILIBDIR=${debug_lib_dir}
541
+ ;;
542
+ * )
543
+ echo "Warning: incorrect library version specified. Automatically selected library will be used."
544
+ ;;
545
+ esac
546
+ fi
547
+ # -----------------------------------------------------------------------
548
+ abi_cflags=
549
+ if [ "$mpi_abi" = yes ] ; then
550
+ abi_cflags="-DMPI_ABI"
551
+ MPILIBNAME=mpi_abi
552
+ fortran_binding=no
553
+
554
+ if [ "$static_mpi" = yes ] ; then
555
+ echo "Error: the -mpi_abi option is not supported for static build."
556
+ exit 1
557
+ fi
558
+ if [ "$ilp64" = yes ]; then
559
+ echo "Error: the -mpi_abi option is not supported for ILP64 build."
560
+ exit 1
561
+ fi
562
+ fi
563
+
564
+ if [ "$static_mpi" = yes ] ; then
565
+ if [ "x$fortran_binding" = "x" ]; then
566
+ mpilibs="${libdir}/libmpifort.a ${libdir}${MPILIBDIR}/lib${MPILIBNAME}.a"
567
+ else
568
+ mpilibs="${libdir}${MPILIBDIR}/lib${MPILIBNAME}.a"
569
+ fi
570
+ I_MPI_OTHERLIBS=" -lrt -lpthread "
571
+ if [ "$ilp64" = yes ]; then
572
+ mpilibs="$libdir/libmpi_ilp64.a $mpilibs"
573
+ fi
574
+ CXX_BIND_LIB="$libdir/libmpicxx.a"
575
+ if [ "x$strip_debug_info" = "x" ] ; then
576
+ strip_debug_info=yes
577
+ fi
578
+ else
579
+ if [ "x$fortran_binding" = "x" ]; then
580
+ mpilibs="-lmpifort -l$MPILIBNAME"
581
+ else
582
+ mpilibs="-l$MPILIBNAME"
583
+ fi
584
+ I_MPI_OTHERLIBS=" -lrt -lpthread "
585
+ if [ "$ilp64" = yes ]; then
586
+ mpilibs="-lmpi_ilp64 $mpilibs"
587
+ fi
588
+ # MPI-2.0 CXX bindings are not supported with MPI-5.0 ABI
589
+ if [ "$mpi_abi" = no ] ; then
590
+ CXX_BIND_LIB="-lmpicxx"
591
+ fi
592
+ fi
593
+ # Derived variables. These are assembled from variables set from the
594
+ # default, environment, configuration file (if any) and command-line
595
+ # options (if any)
596
+ cxxlibs=
597
+ if [ "mpicxx" != "mpi" ] ; then
598
+ if [ "${static_mpi}" = yes ] ; then
599
+ cxxlibs="$libdir/libmpicxx.a"
600
+ else
601
+ cxxlibs="-lmpicxx"
602
+ fi
603
+ fi
604
+
605
+ PROFILE_FOO=
606
+ # Handle the case of a profile switch
607
+ if [ -n "$profConf" ] ; then
608
+ profConffile=
609
+ if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then
610
+ PROFILE_FOO="-l$profConf"
611
+ mpilibs="-l$profConf $mpilibs"
612
+ elif [ -s "$sysconfdir/$profConf.conf" ] ; then
613
+ profConffile="$sysconfdir/$profConf.conf"
614
+ elif [ -s "$profConf.conf" ] ; then
615
+ profConffile="$profConf.conf"
616
+ else
617
+ echo "Profiling configuration file $profConf.conf not found in $sysconfdir"
618
+ fi
619
+ if [ -n "$profConffile" -a -s "$profConffile" ] ; then
620
+ . $profConffile
621
+ if [ -n "$PROFILE_INCPATHS" ] ; then
622
+ CFLAGS="$PROFILE_INCPATHS $CFLAGS"
623
+ fi
624
+ if [ -n "$PROFILE_PRELIB" ] ; then
625
+ mpilibs="$PROFILE_PRELIB $mpilibs"
626
+ fi
627
+ if [ -n "$PROFILE_POSTLIB" ] ; then
628
+ mpilibs="$mpilibs $PROFILE_POSTLIB"
629
+ fi
630
+ fi
631
+ fi
632
+
633
+ if [ "${static_mpi}" = "yes" ] ; then
634
+ final_cxxflags=" -Xlinker --export-dynamic "
635
+ else
636
+ final_cxxflags=" ${abi_cflags}"
637
+ fi
638
+
639
+ final_cppflags=" "
640
+ final_ldflags=" -Wl,-z,now -Wl,-z,relro -Wl,-z,noexecstack -Xlinker --enable-new-dtags -ldl "
641
+ final_libs="-lpthread -lrt "
642
+
643
+ # A temporary statement to invoke the compiler
644
+ # Place the -L before any args incase there are any mpi libraries in there.
645
+ # Eventually, we'll want to move this after any non-MPI implementation
646
+ # libraries
647
+ if [ "$no_rpath" = "yes" ]; then
648
+ rpath_opt="-Xlinker --enable-new-dtags"
649
+ else
650
+ rpath_opt="-Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker \"${libdir}${MPILIBDIR}\" -Xlinker -rpath -Xlinker \"${libdir}\""
651
+ fi
652
+ if [ "$linking" = yes ] ; then
653
+ if [ "$nativelinking" = yes ] ; then
654
+ $Show $CXX ${final_cppflags} $PROFILE_INCPATHS ${final_cxxflags} ${final_ldflags} $allargs -I\"${includedir}\"
655
+ rc=$?
656
+ else
657
+ $Show $CXX $CXXFLAGS ${abi_cflags} $allargs -I\"${includedir}\" -L\"${libdir}${MPILIBDIR}\" -L\"${libdir}\" $rpath_opt $shllibpath $cxxlibs $mpilibs $I_MPI_OTHERLIBS ${final_ldflags}
658
+ rc=$?
659
+ if [ $rc -eq 0 -a "x$strip_debug_info" = "xyes" ] ; then
660
+ $Show objcopy --only-keep-debug ${executable} ${executable}.dbg
661
+ $Show objcopy --strip-debug ${executable}
662
+ $Show objcopy --add-gnu-debuglink=${executable}.dbg ${executable}
663
+ fi
664
+ fi
665
+ # if [ "$static_mpi" = no ] ; then
666
+ # $Show $CXX ${final_cppflags} $PROFILE_INCPATHS ${final_cxxflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $cxxlibs $PROFILE_PRELIB $PROFILE_FOO ${wrapper_dl_type_flags} -lmpi $PROFILE_POSTLIB ${final_libs}
667
+ # else
668
+ # $Show $CXX ${final_cppflags} $PROFILE_INCPATHS ${final_cxxflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $cxxlibs $PROFILE_PRELIB $PROFILE_FOO ${wrapper_dl_type_flags} $libdir/libmpi.a $PROFILE_POSTLIB ${final_libs}
669
+ # fi
670
+ # rc=$?
671
+ # if [ $rc -eq 0 -a "x$strip_debug_info" = "xyes" ] ; then
672
+ # $Show objcopy --only-keep-debug ${executable} ${executable}.dbg
673
+ # $Show objcopy --strip-debug ${executable}
674
+ # $Show objcopy --add-gnu-debuglink=${executable}.dbg ${executable}
675
+ # fi
676
+ # fi
677
+ else
678
+ cmd_line="$CXX $CXXFLAGS ${abi_cflags} $PROFILE_INCPATHS ${final_cxxflags} $allargs -I\"${includedir}\""
679
+ if [ "$Show" = echo ] ; then
680
+ echo $cmd_line
681
+ else
682
+ eval `echo $cmd_line`
683
+ rc=$?
684
+ fi
685
+ fi
686
+
687
+ exit $rc