My Links
Personal Preferences
Uncomment preferences variables to activate them (remove the #-sign). Help and details on preferences variables are available in
TWikiPreferences.
- Show tool-tip topic info on mouse-over of WikiWord links, on or off:
- #Set LINKTOOLTIPINFO = off
- Horizontal size of text edit box:
- Vertical size of text edit box:
- Style of text edit box.
width: 99%
for full window width (default), width: auto
to disable.
- #Set EDITBOXSTYLE = width: 99%
- Write protect your home page: (set it to your WikiName)
Related Topics
Performance commands
Tags in release/IB
$CMSSW_RELEASE_BASE/src/PackageList.cmssw
addpkg -q FWCore/Framework
Compile everything
In a release area
addpkg -f $CMSSW_RELEASE_BASE/src/PackageList.cmssw
export BUILD_LOG=yes
scram b -v -k -j8 USER_CXXFLAGS="-g\ -Wno-error=return-type" > build01.log 2>&1
Old way
cat $CMSSW_RELEASE_BASE/src/PackageList.cmssw | awk '{print $1}' | xargs -i addpkg {}
Build system
See
SDTHowToBuildCMSSWRelease
CMSSW_X_Y_Z=the-release-you-want-to-build
ARCH=the-architecture-for-your-build
URL="https://cmstags.cern.ch/tc/ReleaseExternalsXML?release=$CMSSW_X_Y_Z&architecture=$ARCH"
eval `curl -s -k "$URL" | grep tag | sed -e's|" tag="|_TAG=|;s|[^"]*"||;s|".*||'`
cvs -Q co -r $CMSDIST_TAG CMSDIST
cvs -Q co -r $PKGTOOLS_TAG PKGTOOLS
Don't run
prepare-cmsdist
script, it has nothing useful
Build
./PKGTOOLS/cmsBuild -a $ARCH -c CMSDIST --repository cms --no-bootstrap --builders 4 -j 16 build cmssw
For debug symbols in CMSSW
- Edit
CMSDIST/gcc-toolfile.spec
- Search for
<flags CXXFLAGS="-O2 -pedantic -ansi -pthread -pipe"/>
- Replate to
<flags CXXFLAGS="-O2 -g -pedantic -ansi -pthread -pipe"/>
./PKGTOOLS/cmsBuild -a $ARCH -c CMSDIST --repository cms --no-bootstrap --ignore-compile-errors --builders 4 -j 16 build cmssw
Use the software release area from
another shell
export SCRAM_ARCH=slc5_amd64_gcc434
export SCRAM_ARCH=slc5_amd64_gcc451
unset CMS_PATH
export VO_CMS_SW_DIR=/build1/something
source $VO_CMS_SW_DIR/cmsset_default.sh
cmsrel CMSSW_3_11_0_pre5-cms # for the debug build
cd CMSSW_3_11_0_pre5-cms/src
cmsenv
Old instructions for gcc434
Check out CMSDIST and PKGTOOLS tags from
tag collector
. From the release list (up right) select the release and click
arch and externals.
cd /build
mkdir something
cd something
export SCRAM_ARCH=slc5_amd64_gcc434
export SCRAM_ARCH=slc5_amd64_gcc451
export LANG=C
cvs co -r CMSSW_4_2_0_pre7 CMSDIST
cvs co -r V00-16-05-1 PKGTOOLS
cat > mydoit.cfg
[globals]
assumeYes: True
onlyOnce: True
testTag: False
tag: cms
repository: cms
[bootstrap]
priority: -30
doNotBootstrap: True
repositoryDir: cms
[build cmssw]
compilingProcesses: 12
workersPoolSize: 3
priority: -20
EOF
./PKGTOOLS/cmsBuild --architecture=$SCRAM_ARCH --cfg=./mydoit.cfg
ln -s /afs/cern.ch/cms/SITECONF
For debug symbols in CMSSW
- Edit
CMSDIST/gcc-toolfile.spec
- Search for
<flags CXXFLAGS="-O2 -pedantic -ansi -pthread -pipe"/>
- Replate to
<flags CXXFLAGS="-O2 -g -pedantic -ansi -pthread -pipe"/>
./PKGTOOLS/cmsBuild --architecture=$SCRAM_ARCH --ignore-compile-errors --cfg=./mydoit.cfg
Use the software release area from
another shell
export SCRAM_ARCH=slc5_amd64_gcc434
export SCRAM_ARCH=slc5_amd64_gcc451
unset CMS_PATH
export VO_CMS_SW_DIR=/build1/something
source $VO_CMS_SW_DIR/cmsset_default.sh
cmsrel CMSSW_3_11_0_pre5-cms # for the debug build
cd CMSSW_3_11_0_pre5-cms/src
cmsenv
Big library build
addpkg -f $CMSSW_RELEASE_BASE/src/PackageList.cmssw
export BUILD_LOG=yes
scram b -v -k -j 8 > build01.log 2>&1
scram b -v -k -j 8 bigobj > build02.log 2>&1
Valgrind
valgrind --tool=memcheck $(cmsvgsupp) --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes cmsRun xxxx_cfg.py > mylog01.out 2>&1
valgrind --tool=memcheck $(cmsvgsupp) --suppressions=$ROOTSYS/etc/valgrind-root.supp --num-callers=20 cmsRun xxxx_cfg.py
valgrind --tool=memcheck $(cmsvgsupp) --suppressions=$ROOTSYS/etc/valgrind-root.supp --num-callers=20 --leak-check=full --show-leak-kinds=all --track-origins=yes
VTune
# source /cvmfs/projects.cern.ch/intelsw/oneAPI/linux/x86_64/2023/setvars.sh
source /cvmfs/projects.cern.ch/intelsw/oneAPI/linux/x86_64/2023/vtune/2023.1.0/vtune-vars.sh
vtune -collect hotspots cmsRun ...
vtune -collect threading cmsRun ...
vtune -collect memory-consumption cmsRun ...
Step1 MC workflows
Config file generation
cmsDriver.py MinBias.cfi -s GEN,SIM,DIGI,L1,DIGI2RAW,HLT:1E31 -n 100 --eventcontent FEVTSIM --conditions FrontierConditions_GlobalTag,MC_3XY_V13::All --relval 10000,100 --datatier 'GEN-SIM-DIGI-RAW-HLT' --no_exec
cmsDriver.py TTbar.cfi -s GEN,SIM,DIGI,L1,DIGI2RAW,HLT:1E31 -n 10 --eventcontent FEVTSIM --conditions FrontierConditions_GlobalTag,MC_3XY_V13::All --relval 10000,100 --datatier 'GEN-SIM-DIGI-RAW-HLT' --no_exec
cmsDriver.py QCD_Pt_3000_3500.cfi -s GEN,SIM,DIGI,L1,DIGI2RAW,HLT:1E31 -n 3 --eventcontent FEVTSIM --conditions FrontierConditions_GlobalTag,MC_3XY_V13::All --relval 10000,100 --datatier 'GEN-SIM-DIGI-RAW-HLT' --no_exec
cmsDriver.py MinBias.cfi -s GEN,SIM,DIGI,L1,DIGI2RAW,HLT,RAW2DIGI,L1Reco -n 500 --eventcontent FEVTSIM --conditions auto:mc --no_exec
cmsDriver.py TTbar.cfi -s GEN,SIM,DIGI,L1,DIGI2RAW,HLT,RAW2DIGI,L1Reco -n 100 --eventcontent FEVTSIM --conditions auto:mc --no_exec
cmsDriver.py QCD_Pt_3000_3500.cfi -s GEN,SIM,DIGI,L1,DIGI2RAW,HLT,RAW2DIGI,L1Reco -n 100 --eventcontent FEVTSIM --conditions auto:mc --no_exec
Running
/usr/bin/time cmsRun MinBias_cfi_GEN_SIM_DIGI_L1_DIGI2RAW_HLT_MC.py > minbias01.out 2>&1
/usr/bin/time cmsRun TTbar_cfi_GEN_SIM_DIGI_L1_DIGI2RAW_HLT_MC.py > ttbar01.out 2>&1
/usr/bin/time cmsRun QCD_Pt_3000_3500_cfi_GEN_SIM_DIGI_L1_DIGI2RAW_HLT_MC.py > qcd01.out 2>&1
Step 2 MC workflows
Config file generation
cmsDriver.py recominbias -s RAW2DIGI,RECO -n -1 --filein file:MinBias_cfi_GEN_SIM_DIGI_L1_DIGI2RAW_HLT.root --eventcontent RECOSIM --conditions FrontierConditions_GlobalTag,MC_3XY_V13::All --no_exec
cmsDriver.py recottbar -s RAW2DIGI,RECO -n -1 --filein file:TTbar_cfi_GEN_SIM_DIGI_L1_DIGI2RAW_HLT.root --eventcontent RECOSIM --conditions FrontierConditions_GlobalTag,MC_3XY_V13::All --no_exec
cmsDriver.py recoqcd -s RAW2DIGI,RECO -n -1 --filein file:QCD_Pt_3000_3500_cfi_GEN_SIM_DIGI_L1_DIGI2RAW_HLT.root --eventcontent RECOSIM --conditions FrontierConditions_GlobalTag,MC_3XY_V13::All --no_exec
Running
/usr/bin/time cmsRun recominbias_RAW2DIGI_RECO_MC.py > recominbias01.out 2>&1
/usr/bin/time cmsRun recottbar_RAW2DIGI_RECO_MC.py > recottbar01.out 2>&1
/usr/bin/time cmsRun recoqcd_RAW2DIGI_RECO_MC.py > recoqcd01.out 2>&1
/usr/bin/time igprof -d -t cmsRun -pp -z -o igprof.perf.gz cmsRun myrun.cfg > perf.txt 2>&1
/usr/bin/time igprof -d -t cmsRun -mp -z -o igprof.mem.gz cmsRun myrun.cfg > mem.txt 2>&1
igprof-analyse -d -g -v igprof.* | less
igprof-analyse --sqlite -d -v -g igprof.perf.gz | sqlite3 igperf01_perf.sql3
cp igperf01_perf.sql3 ~/public/www/cgi-bin/data
361_pre1_ia32/perf_20100225.sql3
See
https://hypernews.cern.ch/HyperNews/CMS/get/swDevelopment/1988.html
and
https://hypernews.cern.ch/HyperNews/CMS/get/edmFramework/1981/1/1/1.html
.
Build external with debug symbols and use from existing dev area
Based on HN messages
https://hypernews.cern.ch/HyperNews/CMS/get/swDevelopment/2990.html
,
https://hypernews.cern.ch/HyperNews/CMS/get/swDevelopment/2990/1/1/1/2/1/1/1/3/1.html
, and
https://hypernews.cern.ch/HyperNews/CMS/get/sw-develtools/2087/1.html
.
To build
git clone -b IB/CMSSW_7_1_X/stable git@github.com:cms-sw/cmsdist.git CMSDIST
# Look for proper PKGTOOLS tag from CMSDIST/config.map
git clone -b V00-22-XX git@github.com:cms-sw/pkgtools.git PKGTOOLS
ARCH=slc6_amd64_gcc481
time PKGTOOLS/cmsBuild -i builddir -a $ARCH --builders 1 -j $(getconf _NPROCESSORS_ONLN) build <some_package>
To use, edit corresponding XML files in
config/toolbox/slc6_amd64_gcc481/tools/selected/
, call
scram setup
, checkout all relevant packages, and compile.
Disable biglib
scram b disable-biglib
https://hypernews.cern.ch/HyperNews/CMS/get/sw-develtools/2164/1.html
/castor/cern.ch/cms/store/
Sizeofs