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:
    • #Set EDITBOXWIDTH = 70
  • Vertical size of text edit box:
    • #Set EDITBOXHEIGHT = 22
  • 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

IgProf

/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

WrongPluginLoaded Exception

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

RelVals

/castor/cern.ch/cms/store/

Sizeofs

Type slc5_ia32_gcc434 slc5_amd64_gcc434
int 4 4
long 4 8
long long 8 8
UserForm
FirstName Matti
LastName Kortelainen
Email matti.kortelainen@cernNOSPAMPLEASE.ch
Telephone

Address

Comment

Edit personal data
Edit | Attach | Watch | Print version | History: r40 < r39 < r38 < r37 < r36 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r40 - 2023-05-22 - MattiKortelainen
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback