SegmentLinking / TrackLooper

Apache License 2.0
5 stars 14 forks source link

Fix small issues with arm64 #399

Closed ariostas closed 6 months ago

ariostas commented 6 months ago

This PR solves a few small issues when working on an arm64 machine. First, it closes #398 by changing char to int8_t, as explained in that issue. Apart from that, it fixes the rooutil makefile to accept arm64 and changes the setup.sh script so that it uses the right scram arch.

This could be potentially useful since CMSSW is built for multiple architectures, including arm64. Also, I find it useful since I can now run both standalone and CMSSW workflows on my laptop so it is easier to work on it.

The only caveat is that ROCm doesn't work with arm64, but that's not a big deal.

In case it's useful for someone else, I'll leave some rough guidelines for how to get it to work on an Apple silicon Mac.
  1. Install CVMFS following these instructions.
  2. Install Docker.
  3. Download the EL9 Docker image with docker pull cmssw/el9:aarch64.
  4. Start a Docker container with docker run --rm -it -v /cvmfs:/cvmfs -v $PWD:/home -v [any other data paths you need] cmssw/el9:aarch64.
  5. For CMSSW you'll need to set up a simple siteconfig. You can do it like this:
    git clone https://github.com/cms-sw/siteconf.git
    sed -i '/<prefer ipfamily="0"\/>/,/<backupproxy url="http:\/\/cmsbproxy\.fnal\.gov:3128"\/>/d' siteconf/local/JobConfig/site-local-config.xml
    export SITECONFIG_PATH=$PWD/siteconf/local
    
ariostas commented 6 months ago

/run standalone

github-actions[bot] commented 6 months ago

The PR was built and ran successfully in standalone mode. Here are some of the comparison plots.

Efficiency vs pT comparison Efficiency vs eta comparison
Fake rate vs pT comparison Fake rate vs eta comparison
Duplicate rate vs pT comparison Duplicate rate vs eta comparison

The full set of validation and comparison plots can be found here.

Here is a timing comparison:

   Evt    Hits       MD       LS      T3       T5       pLS       pT5      pT3      TC       Reset    Event     Short             Rate
   avg     44.2    322.2    123.3     48.1     97.4    542.4    134.1    159.5    106.5      1.9    1579.6     993.0+/- 266.6     430.3   explicit_cache[s=4] (master)
   avg     43.7    323.1    123.2     49.0     97.6    546.9    132.6    158.4    106.0      2.3    1582.8     992.2+/- 263.6     430.1   explicit_cache[s=4] (this PR)