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,42 @@
1
+ #!/bin/bash
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
+
16
+ COMPILER="icc"
17
+ TARGET_WRAPPER="mpiicx"
18
+ user_set_compiler=0
19
+
20
+ if [ -z "$1" ] ; then
21
+ ${TARGET_WRAPPER} -help
22
+ exit 0
23
+ fi
24
+
25
+ for arg in "$@" ; do
26
+ case $arg in
27
+ -cc=*)
28
+ COMPILER=$(echo $arg | sed -e 's/-cc=//g')
29
+ user_set_compiler=1
30
+ ;;
31
+ esac
32
+ done
33
+
34
+ if [ -n "$I_MPI_CC" ] || [ -n "$MPICH_CC" ]; then
35
+ user_set_compiler=1
36
+ fi
37
+
38
+ if [ $user_set_compiler -eq 1 ] ; then
39
+ ${TARGET_WRAPPER} "$@"
40
+ else
41
+ ${TARGET_WRAPPER} -cc="${COMPILER}" "$@"
42
+ fi
@@ -0,0 +1,42 @@
1
+ #!/bin/bash
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
+
16
+ COMPILER="icpc"
17
+ TARGET_WRAPPER="mpiicpx"
18
+ user_set_compiler=0
19
+
20
+ if [ -z "$1" ] ; then
21
+ ${TARGET_WRAPPER} -help
22
+ exit 0
23
+ fi
24
+
25
+ for arg in "$@" ; do
26
+ case $arg in
27
+ -cxx=*)
28
+ COMPILER=$(echo $arg | sed -e 's/-cxx=//g')
29
+ user_set_compiler=1
30
+ ;;
31
+ esac
32
+ done
33
+
34
+ if [ -n "$I_MPI_CXX" ] || [ -n "$MPICH_CXX" ]; then
35
+ user_set_compiler=1
36
+ fi
37
+
38
+ if [ $user_set_compiler -eq 1 ] ; then
39
+ ${TARGET_WRAPPER} "$@"
40
+ else
41
+ ${TARGET_WRAPPER} -cxx="${COMPILER}" "$@"
42
+ fi
@@ -0,0 +1,573 @@
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
+ # (C) 2006 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
+ # mpicxx
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* mpich2
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
+ # MPILIBNAME - Name of the MPI library
84
+ # MPICXXLIBNAME - Name of the C++ binding part of the MPI library
85
+ # MPI_OTHERLIBS - Other libraries needed in order to link
86
+ #
87
+ # We assume that (a) the C++ compiler can both compile and link programs
88
+ #
89
+ # Handling of command-line options:
90
+ # This is a little tricky because some options may contain blanks.
91
+ #
92
+ # Special issues with shared libraries - todo
93
+ #
94
+ # --------------------------------------------------------------------------
95
+
96
+ # Set the default values of all variables.
97
+ #
98
+ # Directory locations: Fixed for any MPI implementation
99
+ prefix=I_MPI_SUBSTITUTE_INSTALLDIR
100
+ # The environment variable I_MPI_ROOT may be used to override installation folder path
101
+ if [ -n "${I_MPI_ROOT}" ] ; then
102
+ prefix="${I_MPI_ROOT}";
103
+ fi
104
+
105
+ sysconfdir=${prefix}/etc
106
+ includedir=${prefix}/include
107
+ libdir=${prefix}/lib
108
+ if [ ! -f "${I_MPI_ROOT}/lib/mpi/debug/libmpi.so" ]; then
109
+ release_lib_dir="/release"
110
+ debug_lib_dir="/debug"
111
+ else
112
+ sysconfdir=${prefix}/opt/mpi/etc
113
+ release_lib_dir=""
114
+ debug_lib_dir="/mpi/debug"
115
+ fi
116
+ MPILIBDIR=${release_lib_dir}
117
+
118
+ # The environment variable I_MPI_COMPILER_CONFIG_DIR may be used to override
119
+ # folder where *.conf files are placed
120
+ if [ -n "$I_MPI_COMPILER_CONFIG_DIR" ] ; then
121
+ sysconfdir=$I_MPI_COMPILER_CONFIG_DIR;
122
+ fi
123
+
124
+ # Default settings for compiler, flags, and libraries
125
+ CXX="icpx"
126
+ CXXFLAGS=""
127
+ LDFLAGS="-ldl"
128
+ MPILIBNAME="mpi"
129
+ MPICXXLIBNAME="mpicxx"
130
+
131
+ # MPIVERSION is the version of the Intel(R) MPI Library that mpiicpc is intended for
132
+ MPIVERSION="2021.17"
133
+
134
+ # Internal variables
135
+ # Show is set to echo to cause the compilation command to be echoed instead
136
+ # of executed.
137
+ Show=
138
+ static_mpi=no
139
+ strip_debug_info=
140
+ handle_executable=
141
+ executable=a.out
142
+ ilp64=no
143
+ no_rpath=no
144
+ cuda_sycl_opts=
145
+ # End of initialization of variables
146
+ #
147
+ #---------------------------------------------------------------------
148
+ # Environment Variables.
149
+ # The environment variables I_MPI_CXX, MPICH_CXX may be used to override the
150
+ # default choices. I_MPI_CXX has higher priority than MPICH_CXX.
151
+ # In addition, if there is a file $sysconfdir/mpicxx-$CXXname.conf,
152
+ # where CXXname is the name of the compiler with all spaces replaced by hyphens
153
+ # (e.g., "CC -64" becomes "CC--64", that file is sources, allowing other
154
+ # changes to the compilation environment. See the variables used by the
155
+ # script (defined above)
156
+
157
+ if [ -n "$I_MPI_CXX" ] ; then
158
+ CXX="$I_MPI_CXX"
159
+ CXXname=`echo $CXX | sed 's/ /-/g'`
160
+ if [ -s $sysconfdir/mpicxx-$(basename $CXXname).conf ] ; then
161
+ . $sysconfdir/mpicxx-$(basename $CXXname).conf
162
+ fi
163
+ else
164
+ if [ -n "$MPICH_CXX" ] ; then
165
+ CXX="$MPICH_CXX"
166
+ CXXname=`echo $CXX | sed 's/ /-/g'`
167
+ if [ -s $sysconfdir/mpicxx-$(basename $CXXname).conf ] ; then
168
+ . $sysconfdir/mpicxx-$(basename $CXXname).conf
169
+ fi
170
+ fi
171
+ fi
172
+ if [ -n "$I_MPI_DEBUG_INFO_STRIP" ] ; then
173
+ for comp_val in "0" "off" "no" "disable"
174
+ do
175
+ if [ "$I_MPI_DEBUG_INFO_STRIP" = "$comp_val" ] ; then
176
+ strip_debug_info=no
177
+ break
178
+ fi
179
+ done
180
+ fi
181
+ # Allow a profiling option to be selected through an environment variable
182
+ if [ -n "$MPICXX_PROFILE" ] ; then
183
+ profConf=$MPICXX_PROFILE
184
+ fi
185
+ if [ -n "$I_MPI_CXX_PROFILE" ] ; then
186
+ profConf=$I_MPI_CXX_PROFILE
187
+ fi
188
+
189
+ # Override default mpi library
190
+ if [ -n "$I_MPI_LINK" ] ; then
191
+ mpilib_override=$I_MPI_LINK
192
+ fi
193
+
194
+ #
195
+ # ------------------------------------------------------------------------
196
+ # Argument processing.
197
+ #
198
+ # Look through the arguments for arguments that indicate compile only.
199
+ # If these are *not* found, add the library options
200
+
201
+ linking=yes
202
+ verbose=no
203
+ allargs=""
204
+ for arg in "$@" ; do
205
+ # Set addarg to no if this arg should be ignored by the C compiler
206
+ addarg=yes
207
+ qarg=$arg
208
+ if [ "x$handle_executable" = "xyes" ] ; then
209
+ executable=$arg
210
+ handle_executable=
211
+ fi
212
+ case "$arg" in
213
+ # ----------------------------------------------------------------
214
+ # Compiler options that affect whether we are linking or no
215
+ -c|-S|-E|-M|-MM)
216
+ # The compiler links by default
217
+ linking=no
218
+ ;;
219
+ -o )
220
+ handle_executable=yes
221
+ addarg=yes
222
+ ;;
223
+ # ----------------------------------------------------------------
224
+ # Options that control how we use mpicxx (e.g., -show,
225
+ # -cxx=* -config=*
226
+ -echo)
227
+ addarg=no
228
+ set -x
229
+ ;;
230
+ -cxx=*)
231
+ CXX=$(echo A$arg | sed -e 's/A-cxx=//g')
232
+ if [ "$#" -eq "1" ] ; then
233
+ echo "Error: extra arguments required"
234
+ echo "usage: $(basename $0) -cxx=<name> -v"
235
+ exit 1
236
+ fi
237
+ addarg=no
238
+ ;;
239
+ # Backwards compatibility for MPICH1 - scripts
240
+ -CC=*)
241
+ CXX=$(echo A$arg | sed -e 's/A-CC=//g')
242
+ if [ "$#" -eq "1" ] ; then
243
+ echo "Error: extra arguments required"
244
+ echo "usage: $(basename $0) -CC=<name> -v"
245
+ exit 1
246
+ fi
247
+ addarg=no
248
+ ;;
249
+ -show)
250
+ addarg=no
251
+ Show=echo
252
+ ;;
253
+ -show_env)
254
+ show_env=yes
255
+ ;;
256
+ -config=*)
257
+ addarg=no
258
+ CXXname=$(echo A$arg | sed -e 's/A-config=//g')
259
+ if [ -s "$sysconfdir/mpicxx-$CXXname.conf" ] ; then
260
+ . "$sysconfdir/mpicxx-$CXXname.conf"
261
+ else
262
+ echo "Configuration file mpicxx-$CXXname.conf not found"
263
+ fi
264
+ ;;
265
+ -compile-info|-compile_info)
266
+ # -compile_info included for backward compatibility
267
+ Show=echo
268
+ addarg=no
269
+ ;;
270
+ -link-info|-link_info)
271
+ # -link_info included for backward compatibility
272
+ Show=echo
273
+ addarg=no
274
+ ;;
275
+ -v)
276
+ # Pass this argument to the compiler as well.
277
+ verbose=yes
278
+ if [ "$#" -eq 1 ]; then
279
+ linking=no
280
+ fi
281
+ ;;
282
+ -V)
283
+ # Pass this argument to the compiler to query the compiler version.
284
+ if [ "$#" -eq 1 ]; then
285
+ linking=no
286
+ fi
287
+ echo "$(basename $0) for the Intel(R) MPI Library $MPIVERSION for Linux*"
288
+ echo "Copyright Intel Corporation."
289
+ ;;
290
+ -profile=*)
291
+ # Pass the name of a profiling configuration. As
292
+ # a special case, lib<name>.so or lib<name>.la may be used
293
+ # if the library is in $libdir
294
+ profConf=$(echo A$arg | sed -e 's/A-profile=//g')
295
+ addarg=no
296
+ # Loading the profConf file is handled below
297
+ ;;
298
+ -enable-cuda-device-initiated)
299
+ cuda_sycl_opts="--ptxas-path=$I_MPI_ROOT/opt/mpi/bin/mpiptx"
300
+ addarg=no
301
+ ;;
302
+ -help)
303
+ # Print mini-help if started without parameters
304
+ echo "Simple script to compile and/or link MPI programs."
305
+ echo "Usage: $(basename $0) [options] <files>"
306
+ echo "----------------------------------------------------------------------------"
307
+ echo "The following options are supported:"
308
+ echo " -cxx=<name> specify a C++ compiler name: i.e. -cxx=icpc"
309
+ echo " -echo print the scripts during their execution"
310
+ echo " -show show command lines without real calling"
311
+ echo " -show_env show environment variables"
312
+ echo " -config=<name> specify a configuration file: i.e. -config=icpc for mpicc-icpc.conf file"
313
+ echo " -v print version info of $(basename $0) and its native compiler"
314
+ echo " -profile=<name> specify a profile configuration file (an MPI profiling"
315
+ echo " library): i.e. -profile=myprofile for the myprofile.cfg file."
316
+ echo " As a special case, lib<name>.so or lib<name>.a may be used"
317
+ echo " if the library is found"
318
+ echo " -check_mpi link against the Intel(R) Trace Collector (-profile=vtmc)."
319
+ echo " -static_mpi link the Intel(R) MPI Library statically"
320
+ echo " -mt_mpi link the thread safe version of the Intel(R) MPI Library"
321
+ echo " -ilp64 link the ILP64 support of the Intel(R) MPI Library"
322
+ echo " -fast the same as -static_mpi + pass -fast option to a compiler"
323
+ echo " -t or -trace"
324
+ echo " link against the Intel(R) Trace Collector"
325
+ echo " -trace-imbalance"
326
+ echo " link against the Intel(R) Trace Collector imbalance library"
327
+ echo " (-profile=vtim)"
328
+ echo " -static use static linkage method"
329
+ echo " -nostrip turn off the debug information stripping during static linking"
330
+ echo " -dynamic_log link against the Intel(R) Trace Collector dynamically"
331
+ echo " -O enable optimization"
332
+ echo " -link_mpi=<name>"
333
+ echo " link against the specified version of the Intel(R) MPI Library"
334
+ echo " i.e -link_mpi=opt|opt_mt|dbg|dbg_mt"
335
+ echo " -norpath disable rpath for compiler wrapper of the Intel(R) MPI Library"
336
+ echo "All other options will be passed to the compiler without changing."
337
+ echo "----------------------------------------------------------------------------"
338
+ echo "The following environment variables are used:"
339
+ echo " I_MPI_ROOT the Intel(R) MPI Library installation directory path"
340
+ echo " I_MPI_CXX or MPICH_CXX"
341
+ echo " the path/name of the underlying compiler to be used"
342
+ echo " I_MPI_CXX_PROFILE or MPICXX_PROFILE"
343
+ echo " the name of profile file (without extension)"
344
+ echo " I_MPI_COMPILER_CONFIG_DIR"
345
+ echo " the folder which contains configuration files *.conf"
346
+ echo " I_MPI_TRACE_PROFILE"
347
+ echo " specify a default profile for the -trace option"
348
+ echo " I_MPI_CHECK_PROFILE"
349
+ echo " specify a default profile for the -check_mpi option"
350
+ echo " I_MPI_LINK specify the version of the Intel(R) MPI Library"
351
+ echo " I_MPI_DEBUG_INFO_STRIP"
352
+ echo " turn on/off the debug information stripping during static linking"
353
+ echo "----------------------------------------------------------------------------"
354
+ exit 0
355
+ ;;
356
+ -nolinkage)
357
+ # This internal option is used by wrapper driver scripts mpicc, mpicxx, mpifc when -v option is used.
358
+ linking=no
359
+ addarg=no
360
+ ;;
361
+ -g)
362
+ MPILIBDIR=${release_lib_dir}
363
+ ;;
364
+ -static_mpi)
365
+ static_mpi=yes
366
+ CXXFLAGS="$CXXFLAGS -Xlinker --export-dynamic"
367
+ addarg=no
368
+ ;;
369
+ -static)
370
+ static_mpi=yes
371
+ CXXFLAGS="$CXXFLAGS -Xlinker --export-dynamic"
372
+ addarg=yes
373
+ ;;
374
+ -mt_mpi)
375
+ addarg=no
376
+ ;;
377
+ -ilp64)
378
+ ilp64=yes
379
+ addarg=no
380
+ ;;
381
+ -check_mpi)
382
+ if [ -z "$profConf" ]; then
383
+ if [ -z "$I_MPI_CHECK_PROFILE" ]; then
384
+ profConf="vtmc"
385
+ else
386
+ profConf="$I_MPI_CHECK_PROFILE"
387
+ fi
388
+ else
389
+ echo "Warning: the -check_mpi option will be ignored because the profile was set."
390
+ fi
391
+ addarg=no
392
+ ;;
393
+ -trace-imbalance)
394
+ if [ -z "$profConf" ]; then
395
+ profConf="vtim"
396
+ else
397
+ echo "Warning: the -trace-imbalance option will be ignored because the profile was set."
398
+ fi
399
+ addarg=no
400
+ ;;
401
+ -t | -trace | -t=* | -trace=* )
402
+ if [ -z "$profConf" ]; then
403
+ if [ -z "$I_MPI_TRACE_PROFILE" ]; then
404
+ profConf="vt"
405
+ else
406
+ profConf="$I_MPI_TRACE_PROFILE"
407
+ fi
408
+ else
409
+ echo "Warning: the -trace option will be ignored because the profile was set."
410
+ fi
411
+ # Disable strip to prevent debug symbols into separate dbg file in case of static linking IMPI-1493
412
+ strip_debug_info=no
413
+ addarg=no
414
+ ;;
415
+ -fast)
416
+ echo "Warning: the -fast option forces static linkage method for the Intel(R) MPI Library."
417
+ static_mpi=yes
418
+ CXXFLAGS="$CXXFLAGS -Xlinker --export-dynamic"
419
+ ;;
420
+ -link_mpi=* )
421
+ mpilib_override=$(echo A$arg | sed -e 's/A-link_mpi=//g')
422
+ addarg=no
423
+ ;;
424
+ -nostrip )
425
+ strip_debug_info=no
426
+ addarg=no
427
+ ;;
428
+ -norpath )
429
+ no_rpath=yes
430
+ addarg=no
431
+ ;;
432
+ # Other arguments. We are careful to handle arguments with
433
+ # quotes (we try to quote all arguments in case they include
434
+ # any spaces)
435
+ *\"*)
436
+ qarg="'$arg'"
437
+ ;;
438
+ *\'*)
439
+ qarg=$(echo \"$arg\")
440
+ ;;
441
+ *)
442
+ qarg="'$arg'"
443
+ ;;
444
+ esac
445
+ if [ $addarg = yes ] ; then
446
+ allargs="$allargs $qarg"
447
+ fi
448
+ done
449
+
450
+ if [ $# -eq 0 ] ; then
451
+ echo "Error: Command line argument is needed!"
452
+ "$0" -help
453
+ exit 1
454
+ fi
455
+
456
+ if [ -n "$mpilib_override" ] ; then
457
+ case "$mpilib_override" in
458
+ opt )
459
+ MPILIBDIR=${release_lib_dir}
460
+ ;;
461
+ opt_mt )
462
+ MPILIBDIR=${release_lib_dir}
463
+ ;;
464
+ dbg )
465
+ MPILIBDIR=${debug_lib_dir}
466
+ ;;
467
+ dbg_mt )
468
+ MPILIBDIR=${debug_lib_dir}
469
+ ;;
470
+ * )
471
+ echo "Warning: incorrect library version specified. Automatically selected library will be used."
472
+ ;;
473
+ esac
474
+ fi
475
+
476
+ if [ "$static_mpi" = yes ] ; then
477
+ mpilibs="${libdir}/libmpifort.a ${libdir}${MPILIBDIR}/lib${MPILIBNAME}.a"
478
+ I_MPI_OTHERLIBS=""
479
+ MPI_OTHERLIBS=" -lrt -lpthread "
480
+ if [ "$ilp64" = yes ]; then
481
+ mpilibs="$libdir/libmpi_ilp64.a $mpilibs"
482
+ fi
483
+
484
+ CXX_BIND_LIB="$libdir/libmpicxx.a"
485
+ if [ "x$strip_debug_info" = "x" ] ; then
486
+ strip_debug_info=yes
487
+ fi
488
+ else
489
+ mpilibs="-lmpifort -l$MPILIBNAME"
490
+ I_MPI_OTHERLIBS=""
491
+ MPI_OTHERLIBS=" -lrt -lpthread "
492
+ if [ "$ilp64" = yes ]; then
493
+ mpilibs="-lmpi_ilp64 $mpilibs"
494
+ fi
495
+
496
+ CXX_BIND_LIB="-lmpicxx"
497
+ fi
498
+ # Derived variables. These are assembled from variables set from the
499
+ # default, environment, configuration file (if any) and command-line
500
+ # options (if any)
501
+
502
+ cxxlibs=
503
+ if [ "$MPICXXLIBNAME" != "$MPILIBNAME" ] ; then
504
+ cxxlibs="$CXX_BIND_LIB"
505
+ fi
506
+ #
507
+ # Handle the case of a profile switch
508
+ if [ -n "$profConf" ] ; then
509
+ profConffile=
510
+ if [ -s "$libdir/lib$profConf.a" ] || [ -s "$libdir/lib$profConf.so" ] ; then
511
+ mpilibs="-l$profConf $mpilibs"
512
+ elif [ -s "$sysconfdir/$profConf.conf" ] ; then
513
+ profConffile="$sysconfdir/$profConf.conf"
514
+ elif [ -s "$profConf.conf" ] ; then
515
+ profConffile="$profConf.conf"
516
+ else
517
+ echo "Profiling configuration file $profConf.conf not found in $sysconfdir"
518
+ fi
519
+ if [ -n "$profConffile" ] && [ -s "$profConffile" ] ; then
520
+ . $profConffile
521
+ if [ -n "$PROFILE_INCPATHS" ] ; then
522
+ CXXFLAGS="$PROFILE_INCPATHS $CXXFLAGS"
523
+ fi
524
+ if [ -n "$PROFILE_PRELIB" ] ; then
525
+ mpilibs="$PROFILE_PRELIB $mpilibs"
526
+ fi
527
+ if [ -n "$PROFILE_POSTLIB" ] ; then
528
+ mpilibs="$mpilibs $PROFILE_POSTLIB"
529
+ fi
530
+ fi
531
+ fi
532
+ # A temporary statement to invoke the compiler
533
+ # Place the -L before any args incase there are any mpi libraries in there.
534
+ # Eventually, we'll want to move this after any non-MPI implementation
535
+ # libraries
536
+
537
+ if [ "${show_env}" = "yes" ]; then
538
+ env | more
539
+ exit 0
540
+ fi
541
+
542
+ if [ "$no_rpath" = "yes" ]; then
543
+ rpath_opt="-Xlinker --enable-new-dtags"
544
+ else
545
+ rpath_opt="-Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker \"${libdir}${MPILIBDIR}\" -Xlinker -rpath -Xlinker \"${libdir}\""
546
+ fi
547
+ if [ "$linking" = yes ] ; then
548
+ cmd_line="$CXX $CXXFLAGS $cuda_sycl_opts $allargs -I\"${includedir}\" -L\"${libdir}${MPILIBDIR}\" -L\"${libdir}\" $rpath_opt $cxxlibs $mpilibs $I_MPI_OTHERLIBS $LDFLAGS $MPI_OTHERLIBS"
549
+ if [ "$Show" = echo ] ; then
550
+ echo $cmd_line
551
+ else
552
+ if [ "$verbose" = yes ] ; then
553
+ echo mpiicpx generated: $cmd_line
554
+ fi
555
+ eval `echo $cmd_line`
556
+ fi
557
+ rc=$?
558
+ if [ $rc -eq 0 ] && [ "x$strip_debug_info" = "xyes" ] ; then
559
+ $Show objcopy --only-keep-debug ${executable} ${executable}.dbg
560
+ $Show objcopy --strip-debug ${executable}
561
+ $Show objcopy --add-gnu-debuglink=${executable}.dbg ${executable}
562
+ fi
563
+ else
564
+ cmd_line="$CXX $CXXFLAGS $cuda_sycl_opts $allargs -I\"${includedir}\""
565
+ if [ "$Show" = echo ] ; then
566
+ $Show $cmd_line
567
+ else
568
+ eval `echo $cmd_line`
569
+ fi
570
+ rc=$?
571
+ fi
572
+
573
+ exit $rc