Linker options
Control linking behavior and performance.
Option |
Description |
---|---|
|
Pass the comma separated arguments in Usage
|
|
Pass Usage
|
|
Instructs the compiler to load the optimum version of Arm Performance Libraries for your target architecture and implementation. This option also enables optimized versions of the C mathematical functions declared in the Supported arguments are:
Separate multiple arguments using a comma, for example: Default behavior The default behavior of the
In other words, when:
For more information on using Usage
Examples To specify a 64-bit integer OpenMP multi-threaded implementation for ThunderX2:
To specify a 32-bit integer single-threaded implementation on Cortex-A72:
To use the serial, ilp64 ArmPL SVE libraries, optimized for the SVE-enabled CPU architecture of the build computer:
To use the parallel, lp64 ArmPL libraries, with portable output suitable for any Armv8-A computer:
To use the parallel, lp64 ArmPL SVE libraries, with portable output suitable for any SVE-enabled Armv8-A computer:
|
|
Search for the library named Usage
|
|
At link time, include this option to use the default Fortran libarmflang runtime library for both serial and parallel (OpenMP) Fortran workloads. Note
Usage
See notes in description. |
|
At link time, use this option to avoid linking against the OpenMP Fortran runtime library. Note
Usage
See notes in description. |
|
Causes library dependencies to be resolved at runtime by the loader. This is the inverse of -static. If both options are given, all but the last option will be ignored. Usage
Or
|
|
Causes library dependencies to be resolved at link time. This is the inverse of Usage
Or
|
To link serial or parallel Fortran workloads using armclang
instead of armflang
, include the -larmflang
option to link with the default Fortran runtime library for serial and parallel Fortran workloads. You also need to pass any options required to link using the required mathematical routines for your code.
To statically link, in addition to passing -larmflang
and the mathematical routine options, you also need to pass:
-static
-lomp
-lrt
To link serial or parallel Fortran workloads using armclang
instead of armflang
, without linking against the OpenMP runtime libraries, instead pass -armflang-nomp
at link time. For example, pass:
-larmflang-nomp
Any mathematical routine options, for example:
-lm
or-lamath
.
Again, to statically link, in addition to -larmflang-nomp
and the mathematical routine options, you also need to pass:
-static
-lrt
Warning
Do not link against any OpenMP-utlizing Fortran runtime libraries when using this option.
All lockings and thread local storage will be disabled.
Arm does not recommend using the
-larmflang-nomp
option for typical workloads. Use this option with caution.
Note
The -lompstub
option (for linking against libompstub) might still be needed if you have imported omp_lib
in your Fortran code but not compiled with -fopenmp
.