Compilation Command Options
-nostrip
Use this option to turn off the debug information stripping while linking the Intel® MPI Library statically.
-config=<name>
<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>
.confwhere:
- <compiler>={cc,cxx,f77,f90}, depending on the language compiled.
- is the name of the underlying compiler with spaces replaced by hyphens; for example, the<name>value for<name>cc -64iscc--64.
-profile=<profile_name>
<profile_name>
Use this option to specify an MPI profiling library.
is the name of the configuration file (profile) that loads the corresponding profiling library. The profiles are taken from
<profile_name>
<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
-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.
script provided in the Intel® Trace Analyzer and Collector installation folder.
[c]sh
-trace-imbalance
-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
-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.
You can also use the
I_MPI_CHECK_PROFILE
environment variable to
<profile_name>
to specify another checking library.
To use this option, include the installation path of the Intel Trace Collector in the
VT_ROOT
environment variable. Source the
vars.
script provided in the Intel® Trace Analyzer and Collector installation folder.
[c]sh
-ilp64
-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
-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
-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
-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>
-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
-O
Use this option to enable compiler optimization.
-fast
-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
-echo
Use this option to display everything that the command script does.
-show
-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
-show_env
Use this option to see the environment settings in effect when the underlying compiler is invoked.
-{cc,cxx,fc}=<compiler>
-{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.
Language/Model | 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
|
SYCL*/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.
|
Make sure that the wrapper name is in your
PATH
. Alternatively, you can specify the full path to the compiler.
-nofortbind, -nofortran
-nofortbind, -nofortran
Use this option to disable
mpiicc
linking with Fortran bindings. This has the same effect as the
variable.
-v
-v
Use this option to print the compiler wrapper script version
and its underlying compiler version
.
-norpath
-norpath
Use this option to disable
rpath
for the compiler wrapper for the Intel® MPI Library.