CMSSW_14_0_X
and above releases are build for multiple micro-architectures support for x86_64
.
CMSSW_14_0, CMSSW_14_1 and CMSSW_14_2
use x86-64-v2
as default micro-architecture while x86-64-v3
is provided as an additional micro-architectures. In order to save time and resources, by default SCRAM
is configured to used only x86-64-v2
. But if you need to use x86-64-v3
set of librairies/plugins of cmssw then you can run scram build enable-multi-targets
in your developer area. This will allow scram to build your checked out packages for both micro-archs and automatiically select the best set of libraries at runtime.
Starting with CMSSW_15_0_X, we have the follow changes
- The default micro-architecture is
x86-64-v3
- Additional micro-architecture is
x86-64-v2
- Setting runtime environment in
CMSSW
release (e.g. runningcmsenv
directly from the release path) will automatically select the best micro-architecture e.g.- Nodes with x86-64-v2 only support: Runtime env will be set to use
x86-64-v2
set of libraries/plugins - Nodes with x86-64-v3 and above support: Runtime env will be set to use
x86-64-v3
set of libraries/plugisn
- Nodes with x86-64-v2 only support: Runtime env will be set to use
- Creating developer area will also automatically enable/disable multi-microarchitecture support e.g.
- Nodes with x86-64-v2 only support:
SCRAM
will create developer area with multi-microarchitecture support enabled. Any checked out packages will be build for both micro-architectures. At runtimeSCRAM
will selected the best matching micro-architecture - Nodes with x86-64-v3 and above support:
SCRAM
will create developer area with multi-microarchitecture support disabled. Any checked out packages will only be built for default (x86-64-v3
) micro-architecture. At runtimeSCRAM
will only use default (x86-64-v3
) micro-architecture libraries.
- Nodes with x86-64-v2 only support:
SCRAM
will also set following environment variables forCMSSW_15_0
and above- SCRAM_DEFAULT_MICROARCH: Default micro-arch used for cmssw release e.g. for
CMSSW_15_0_X
it will bex86-64-v3
- SCRAM_MIN_SUPPORTED_MICROARCH: Least required micro-arch to run cmssw e.g , for
CMSSW_15_0
, is developer area has multi-microarchitecture support enabled thenSCRAM_MIN_SUPPORTED_MICROARCH
will be set tox86-64-v2
otherwise it will bex86-64-v3
- SCRAM_DEFAULT_MICROARCH: Default micro-arch used for cmssw release e.g. for