Developer Reference

Compilation Command Options

-nostrip
Use this option to turn off the debug information stripping while linking the Intel® MPI Library statically.
-config=
<name>
Use this option to source a compiler configuration file. The file should contain the environment settings to be used with the specified compiler.
Use the following naming convention for configuration files:
<install-dir>
/etc/mpi
<compiler>-<name>
.conf
where:
  • <compiler>
    =
    {cc,cxx,f77,f90}
    , depending on the language compiled.
  • <name>
    is the name of the underlying compiler with spaces replaced by hyphens; for example, the
    <name>
    value for
    cc -64
    is
    cc--64
    .
-profile=
<profile_name>
Use this option to specify an MPI profiling library.
<profile_name>
is the name of the configuration file (profile) that loads the corresponding profiling library. The profiles are taken from
<install-dir>
/
etc
.
The Intel MPI Library comes with several predefined profiles for the Intel® Trace Collector:
  • <install-dir>/etc/vt.conf
    — regular tracing library
  • <install-dir>/etc/vtfs.conf
    — fail-safe tracing library
  • <install-dir>/etc/vtmc.conf
     — correctness checking tracing library
  • <install-dir>/etc/vtim.conf
    — load imbalance tracing library
You can also create your own profile as
<profile-name>
.conf
. You can define the following environment variables in a configuration file:
  • PROFILE_PRELIB - libraries (and paths) to load before the Intel MPI Library
  • PROFILE_POSTLIB - libraries to load after the Intel MPI Library
  • PROFILE_INCPATHS - C preprocessor arguments for any include files
For example, create a file
myprof.conf
with the following lines:
PROFILE_PRELIB="-L <path_to_myprof>/lib -lmyprof" PROFILE_INCPATHS="-I <paths_to_myprof>/include"
Use the
-profile=myprof
option for the relevant compiler wrapper to select this new profile.
-t or -trace
Use the
-t
or
-trace
option to link the resulting executable file against the Intel® Trace Collector library. Using this option has the same effect as the
-profile=vt
option.
You can also use the
I_MPI_TRACE_PROFILE
 environment variable to
<profile_name>
to specify another profiling library. For example, set
I_MPI_TRACE_PROFILE
to
vtfs
to link against the fail-safe version of the Intel Trace Collector.
To use this option, include the installation path of the Intel® Trace Collector in the
VT_ROOT
environment variable. Source the
vars.[c]sh
script provided in the Intel® Trace Analyzer and Collector installation folder.
-trace-imbalance
Use the
-trace-imbalance
option to link the resulting executable file against the load imbalance tracing library of Intel Trace Collector. Using this option has the same effect as the
-profile=vtim
option.
To use this option, include the installation path of the Intel Trace Collector in the
VT_ROOT
environment variable. Source the
vars.[c]sh
script provided in the Intel® Trace Analyzer and Collector installation folder.
-check_mpi
Use this option to link the resulting executable file against the Intel® Trace Collector correctness checking library. The default value is
libVTmc.so
. Using this option has the same effect as the
-profile=vtmc
option.
To use this option, include the installation path of the Intel Trace Collector in the
VT_ROOT
environment variable. Source the
vars.[c]sh
script provided in the Intel® Trace Analyzer and Collector installation folder.
-ilp64
Use this option to enable partial ILP64 support. All integer arguments of the Intel MPI Library are treated as 64-bit values in this case.
-no_ilp64
Use this option to disable the ILP64 support explicitly. This option must be used in conjunction with
-i8
option of Intel® Fortran Compiler.
If you specify the
-i8
option for the separate compilation with Intel Fortran Compiler, you still have to use the
i8
or
ilp64
option for linkage.

-dynamic_log

Use this option in combination with the
-t option to link the Intel Trace Collector library dynamically. This option does not affect the default linkage method for other libraries.
To run the resulting programs, include
$VT_ROOT/slib
in the
LD_LIBRARY_PATH
environment variable.

-g

Use this option to compile a program in debug mode and link the resulting executable file against the debugging version of the Intel MPI Library. See
I_MPI_DEBUG
for information on how to use additional debugging features with the
-g
builds.
The optimized library is linked with the
-g
option by default.
Use
vars.{sh|csh} [debug|debug_mt]
at runtime to load a particular
libmpi.so
configuration.

-link_mpi=<
arg
>

Use this option to always link the specified version of the Intel MPI Library. See the
I_MPI_LINK
environment variable for detailed argument descriptions. This option overrides all other options that select a specific library.
Use
vars.{sh|csh}[debug|debug_mt]
during runtime to load particular
libmpi.so
configuration.

-O

Use this option to enable compiler optimization.

-fast

Use this option to maximize speed across the entire program. This option forces static linkage method for the Intel MPI Library.
This option is supported only by the
mpiicc
,
mpiicpc
, and
mpiifort
Intel® compiler wrappers.

-echo

Use this option to display everything that the command script does.

-show

Use this option to learn how the underlying compiler is invoked, without actually running it. Use the following command to see the required compiler flags and options:
$ mpiicc -show -c test.c
Use the following command to see the required link flags, options, and libraries:
$ mpiicc -show -o a.out test.o
This option is particularly useful for determining the command line for a complex build procedure that directly uses the underlying compilers.

-show_env

Use this option to see the environment settings in effect when the underlying compiler is invoked.

-{cc,cxx,fc}=
<compiler>

Use this option to select the underlying compiler. The tables below list the available LLVM and IL0 compiler options and commands used to invoke them.
LLVM Compiler Options for Intel® oneAPI
Language
Product Name
Compiler Driver
Compiler Wrapper
Command
Example
C
>Intel® oneAPI DPC++/C++ Compiler
icx
mpiicc
-cc=icx
$ mpiicc -cc=icx -c test.c
C++
Intel® oneAPI DPC++/C++ C
icpx
mpiicpc
-cxx=icpx
$ mpiicpc -cxx=icpx -c test.cpp
DPC++
Intel® oneAPI DPC++/C++ Compiler
dpcpp
mpiicpc
-cxx=dpcpp
$ mpiicpc -cxx=dpcpp -c test.cpp
Fortran
Intel® oneAPI Fortran Compiler
ifx
mpiifort
-fc=ifx
$ mpiifort -fc=ifx -c test.
IL0 Compiler Options for Intel® Parallel Studio Extended  Edition
Language
Product Name
Compiler Driver
Compiler Wrapper
Example
C
Intel® C++ Compiler Classic
icc
mpiicc
$ mpiicc -c test.c
C++
Intel® C++ Compiler Classic
icpc
mpiicpc
$ mpiicpc -c test.cpp
Fortran
Intel® Fortran Compiler Classic
ifort
mpiifort
$ mpiifort -c test.f
 
NOTE:
Make sure the wrapper name is in your
PATH
. Alternatively, you can specify the full path to the compiler.

-nofortbind, -nofortran

Use this option to disable
mpiicc
linking with Fortran bindings. This has the same effect as the variable.

-v

Use this option to print the compiler wrapper script version and its underlying compiler version.

-norpath

Use this option to disable
rpath
for the compiler wrapper for the Intel® MPI Library.

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.